此代码应将任何选定的项目从ListView1复制到ListView2。它正在复制一项,但是索引1和2上的子项显示为空白。
Private Sub Command1_Click()
ListView2.ListItems.Add = ListView1.SelectedItem
ListView2.SelectedItem.SubItems(2) = ListView1.SelectedItem.SubItems(2)
ListView2.SelectedItem.SubItems(1) = ListView1.SelectedItem.SubItems(1)
End Sub
答案 0 :(得分:3)
此行:
ListView2.ListItems.Add ListView1.SelectedItem
将所选项目的副本从ListView1
添加到ListView2
。
但是,它不会选择新项目。因此,接下来的两行代码:
ListView2.SelectedItem.SubItems(2) = ListView1.SelectedItem.SubItems(2)
ListView2.SelectedItem.SubItems(1) = ListView1.SelectedItem.SubItems(1)
不执行您希望的操作,因为ListView2.SelectedItem
不是您刚刚添加的项目。
要使代码正常工作,请编写代码,以便保留对添加到变量中的项目的引用,然后设置该项目的属性:
Private Sub Command1_Click()
Dim li As ListItem
Set li = ListView2.ListItems.Add ListView1.SelectedItem
li.SubItems(2) = ListView1.SelectedItem.SubItems(2)
li.SubItems(1) = ListView1.SelectedItem.SubItems(1)
End Sub
请为控件命名,以比默认的Command1
/ ListView2
更具描述性!