listview的新实例混淆请解释

时间:2013-12-08 16:57:55

标签: vb.net

大家好,我是一名相当新的VB.NET学生。我是第一次使用listview对象。我找到了一些代码来完成这项工作。基本上我想将信息添加到第二列和第一列。这段代码工作正常,但我很难理解为什么它的工作原理。有人可以向我解释一下吗?

我不明白为什么昏昏欲睡需要新的listview。为什么我不能只做listview.subitems.add ...我知道没有命令,但为什么?为什么我需要创建listview的新实例来填充第二列。

Private Sub btnAddItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddItem.Click
    Dim itm As New ListViewItem  'Add items to listbox
    itm = lstData.Items.Add(txtInput.Text) 'Add data from txtbox
    itm.SubItems.Add(txtInput.Text) ' Add data from txtbox
End Sub

2 个答案:

答案 0 :(得分:1)

I don't understand why the dim itm as new listview is needed不是,你正在创建一个新的ListViewItem来添加到LV。

ListView包含对象 - ListViewItems,Groups和Columns,最后2个控制事物的显示方式。 ListViewItem包含SubItems(LV.Items是ListViewItems的集合,而SubItems是ListViewItem.ListViewSubItem的集合。)

Why can I not just do listview.subitems.add因为LV不知道将新SubItem与哪个Item相关联(即哪个行显示它)。

itm.SubItems.Add(txtInput.Text)

这会动态创建一个新的SubItem。如果您想设置的不仅仅是文本,您可以实例ListViewItemSubItem来设置其他属性(ForeColor,Name,Font,Tag ...)

重要的是要知道它不是网格 - 您可以轻松编辑标签/项目文本,但不能编辑子项目文本(内联)。而不是网格,请查看资源管理器中的一个示例 - 您可以编辑FileName(== Item),但不能编辑大小,日期等等(== SubItems)

答案 1 :(得分:0)

Listview.items.add(...)。subitems.add(...)。subitems.add(...)