Vb6 如何选中ListView中的唯一复选框

Vb6 如何选中ListView中的唯一复选框,vb6,Vb6,我在listview中有n个项目,如果我选中复选框,所有其他复选框将自动删除 代码 上面的代码正在运行,但在这种情况下,我必须编写上面的代码。我已经有一段时间没有使用VB6了,但可能尝试ItemCheck事件 编辑-另外,关于您的算法,我建议不要使用循环来取消检查所有内容。相反,当触发ItemCheck事件时,记录当前选定的项目并取消选中最后一个项目。这样做,而不是每次都循环通过所有内容,这样你就不必循环通过任何内容,这会更快。ItemCheck事件就是你要寻找的。这是适当的代码 Private

我在listview中有n个项目,如果我选中复选框,所有其他复选框将自动删除

代码


上面的代码正在运行,但在这种情况下,我必须编写上面的代码。

我已经有一段时间没有使用VB6了,但可能尝试ItemCheck事件


编辑-另外,关于您的算法,我建议不要使用循环来取消检查所有内容。相反,当触发ItemCheck事件时,记录当前选定的项目并取消选中最后一个项目。这样做,而不是每次都循环通过所有内容,这样你就不必循环通过任何内容,这会更快。

ItemCheck事件就是你要寻找的。这是适当的代码

Private Sub lvwMedia_ItemCheck(ByVal Item As MSComctlLib.ListItem)
    Dim idx As Integer
    Dim bln As Boolean

    bln = lvwMedia.ListItems(Item.Index).Checked

    For idx = 1 To lvwMedia.ListItems.count
        If lvwMedia.ListItems(idx).Checked Then
            lvwMedia.ListItems(idx).Checked = False
        End If
    Next

    lvwMedia.ListItems(Item.Index).Checked = bln
End Sub

可能重复您先前的问题
Private Sub lvwMedia_ItemCheck(ByVal Item As MSComctlLib.ListItem)
    Dim idx As Integer
    Dim bln As Boolean

    bln = lvwMedia.ListItems(Item.Index).Checked

    For idx = 1 To lvwMedia.ListItems.count
        If lvwMedia.ListItems(idx).Checked Then
            lvwMedia.ListItems(idx).Checked = False
        End If
    Next

    lvwMedia.ListItems(Item.Index).Checked = bln
End Sub