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