从ListView1中的行复制的数据未显示在ListView2中

从ListView1中的行复制的数据未显示在ListView2中,listview,vb6,Listview,Vb6,此代码应将任何选定项从ListView1复制到ListView2。它正在复制一个项目,但索引1和2上的子项目显示为空 Private Sub Command1_Click() ListView2.ListItems.Add = ListView1.SelectedItem ListView2.SelectedItem.SubItems(2) = ListView1.SelectedItem.SubItems(2) ListView2.SelectedItem.SubIt

此代码应将任何选定项从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
这一行:

ListView2.ListItems.Add ListView1.SelectedItem
将所选项目的副本从
列表视图1
添加到
列表视图2

但是,它不会选择新项目。因此,接下来的两行代码:

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
更具描述性的名称

这一行:

ListView2.ListItems.Add ListView1.SelectedItem
将所选项目的副本从
列表视图1
添加到
列表视图2

但是,它不会选择新项目。因此,接下来的两行代码:

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
更具描述性的名称

你确定这是Visual Basic 6.0而不是VB.NET吗?你确定这是Visual Basic 6.0而不是VB.NET吗?