大家好,我是一名相当新的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
答案 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(...)