如何在 Visual Basic 中创建多列列表框?

wee*_*rey 4 vb.net

我正在寻找的是一个具有多列的列表框,例如一个用于书籍的列表框,其中每一行都有一个标题、价格、作者。

任何可以给我一些关于如何将项目添加到列表中的指针的人都可以获得加分。我正在猜测

 listBox1.Items.Add("Harry Potter", "JK Rowling", 5.99);
Run Code Online (Sandbox Code Playgroud)

行不通?

Cla*_*ius 5

您需要更改属性:

Me.listBox1.MultiColumn = True
Run Code Online (Sandbox Code Playgroud)

添加单个:

listBox1.Items.Add("Item")
Run Code Online (Sandbox Code Playgroud)

添加多个:

With Me.listBox1
    Me.listBox1.ColumnCount = 2
    .AddItem
    .List(i, 0) = "something for first column"
    .List(i, 1) = "something for second column"
    i = i + 1
end with
Run Code Online (Sandbox Code Playgroud)

了解更多关于列表框1 2

现在你应该真正使用 ListView:

    'Add Three Columns To ListView 2
    ListView2.Columns.Add("Zodiac", 100, HorizontalAlignment.Center) 'Column 1
    ListView2.Columns.Add("From", 100, HorizontalAlignment.Left) 'Column 2
    ListView2.Columns.Add("To", 100, HorizontalAlignment.Right) 'Column 3

    'Show Small Images Next To Zodiac Sign
    ListView2.SmallImageList = ImageList2

    'Declare Array For ListView Items
    Dim arrLVItem(11) As ListViewItem

    Dim j As Integer 'Loop Counter

    'Loop Through Each ListViewItem Array Item
    For j = 0 To arrLVItem.Length - 1

        'Initialize ListViewItem Array
        arrLVItem(j) = New ListViewItem

        'Add Text To First ListView Item - The Zodiac Sign
        arrLVItem(j).SubItems(0).Text = arrZodiac(j)

        'Add From and To SubItems On Zodiac ListView Item
        arrLVItem(j).SubItems.Add(arrFrom(j))
        arrLVItem(j).SubItems.Add(arrTo(j))

        'Connect ListView Item With Its Associated Picture
        arrLVItem(j).ImageIndex = j

    Next j

    'Add Completed Arrays To [ListView][3]
    ListView2.Items.AddRange(arrLVItem)
Run Code Online (Sandbox Code Playgroud)

  • 不,不。根据 Microsoft *“多列 ListBox 将项目放入所需的尽可能多的列中,从而无需垂直滚动。”*。[ListBox.MultiColumn 属性](https://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.multicolumn%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396 ) 不会将 ListBox 变成一种网格。 (3认同)