excel中vba中listview中复选框与单击条目被选中的配合使用
1、当我选中三个条目(用ctrl或shift多选)时(如选择1,2,3条后),我希望再点第2条时(这时系统会去掉1和3的选择状态),1和3的复选框同时被去掉。2、当我选中...
1、当我选中三个条目(用ctrl或shift多选)时(如选择1,2,3条后),我希望再点第2条时(这时系统会去掉1和3的选择状态),1和3的复选框同时被去掉。2、当我选中三个条目(用ctrl或shift多选)时(如选择1,2,3条后),我希望按ctrl键再点第2条时(这时系统会去掉第2条的选择状态),2的复选框同时被去掉。
我目前的状态是可以在单击未被选取的item条目时,不管单选还是多选(按ctrl或shitf)条目,相应的复选框都能相应的选中或取消。但单击已被选取的item条目时,相应的复选框就无法随之变化了。因为这时即使原来选中状态的item呈未选中状态,但vba依旧认为这些item是选中状态,而使复选框依然为true。目前代码是:Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)If Item.Selected = True Then For j = 1 To ListView1.ListItems.Count '这个for循环主要是为了能够实现多选时,复选框也相应选中。 If ListView1.ListItems(j).Selected = True Then ListView1.ListItems(j).Checked = True Else ListView1.ListItems(j).Checked = False End If NextEnd IfEnd Sub
如果大家没明白我的意思,可以看看win8资源管理器中文件夹的复选框。 展开
我目前的状态是可以在单击未被选取的item条目时,不管单选还是多选(按ctrl或shitf)条目,相应的复选框都能相应的选中或取消。但单击已被选取的item条目时,相应的复选框就无法随之变化了。因为这时即使原来选中状态的item呈未选中状态,但vba依旧认为这些item是选中状态,而使复选框依然为true。目前代码是:Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)If Item.Selected = True Then For j = 1 To ListView1.ListItems.Count '这个for循环主要是为了能够实现多选时,复选框也相应选中。 If ListView1.ListItems(j).Selected = True Then ListView1.ListItems(j).Checked = True Else ListView1.ListItems(j).Checked = False End If NextEnd IfEnd Sub
如果大家没明白我的意思,可以看看win8资源管理器中文件夹的复选框。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询