Tipp 0215 ListView per Code befüllen
Autor/Einsender:
Datum:
  Thomas Becker
17.02.2013
Entwicklungsumgebung:   VB.Net 2005
Framework:   2.0
Der Tipp zeigt drei typische Darstellungsvarianten eines ListViews per Code. Ein ListView kann sowohl tabellarisch als auch als Icons verwendet werden. In letztgenannter Form ist auch das Editieren des Textes möglich. Um in einem ListView Vorschaubilder einzubinden, wird eine ImageList verwendet.
 
Public Class Form1
  Dim ImageList1 As New ImageList

  Private Sub Button1_Click(ByVal sender As Object, ByVal e As _
          EventArgs) Handles Button1.Click
    With ListView1
      .Clear()
      .View = View.Details
      .Columns.Add("Item", 100)
      .Columns.Add("SubItem", 100)
      .Columns.Add("SubItem", 100)
      .Columns.Add("SubItem", 100)
    End With

    Dim LVI1 As New ListViewItem
    LVI1.Text = "eins"
    LVI1.SubItems.AddRange(New String() {"zwei", "drei", "vier"})
    ListView1.Items.Add(LVI1)

    Dim LVI2 As New ListViewItem
    LVI2.Text = "A"
    LVI2.SubItems.AddRange(New String() {"B", "C", "D"})
    ListView1.Items.Add(LVI2)
  End Sub

  Private Sub Button2_Click(ByVal sender As Object, ByVal e As _
          EventArgs) Handles Button2.Click
    ListView1.View = View.LargeIcon
    ListView1.LargeImageList = ImageList1
    Call ListViewFill()
  End Sub

  Private Sub Button3_Click(ByVal sender As Object, ByVal e As _
          EventArgs) Handles Button3.Click
    ListView1.View = View.SmallIcon
    ListView1.SmallImageList = ImageList1
    Call ListViewFill()
  End Sub

  Private Sub Button4_Click(ByVal sender As Object, ByVal e As _
          EventArgs) Handles Button4.Click
    Me.Close()
  End Sub

  Private Sub ListViewFill()
    ListView1.Clear()
    ImageList1.Images.Clear()

    ' erlaubt Editieren von Einträgen durch langsamen Doppelklick
    ' in den Text
    ListView1.LabelEdit = True

    Dim Img As Image = SystemIcons.Error.ToBitmap
    ImageList1.Images.Add(Img) ' kann Image / Bitmap aufnehmen
    ListView1.Items.Add("Stop", 0) ' ImageListindex 0

    Dim Ico As Icon = SystemIcons.Question
    ImageList1.Images.Add(Ico) ' kann aber auch Icon aufnehmen
    ListView1.Items.Add("Frage", 1) ' ImageListindex 1

    ImageList1.Images.Add(Me.Icon)
    ListView1.Items.Add("vb-fun", 2) ' ImageListindex 2
  End Sub

  Private Sub ListView1_SelectedIndexChanged(ByVal sender As _
          Object, ByVal e As EventArgs) _
          Handles ListView1.SelectedIndexChanged
    If ListView1.SelectedItems.Count = 0 Then Exit Sub

    Dim SelCol As ListView.SelectedListViewItemCollection = _
        ListView1.SelectedItems
    ' Wenn ListView1 nicht auf MultiSelect steht, reicht es Index 0
    ' auszuwerten, anderenfalls durchläuft man SelCol
    ToolStripStatusLabel1.Text = SelCol(0).Text
  End Sub
End Class
 
Weitere Links zum Thema
DataGridView per Code befüllen

Windows-Version
98/SE
ME
NT
2000
XP
Vista
Win 7


Download  (13 kB) Downloads bisher: [ 167 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Tipps | Projekte | Tutorials | Bücherecke | VB-/VBA-Tipps | API-Referenz | Komponenten | VB.Net-Forum | VB/VBA-Forum | DirectX-Forum | Foren-Archiv | DirectX | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 17. Februar 2013