首页 新闻 会员 周边 捐助

checkedListBox双击其中的checkbox时SelectedValueChanged事件无法触发

0
悬赏园豆:20 [已解决问题] 解决于 2015-03-05 09:08

我现在根据checkedListBox1的选中的Item发生改变时,实时更新checkedListBox2中的Items,当我单击checkedListBox1中的某一个Item时,可以实时更新checkedListBox2中的Items;但是当我双击checkedListBox1中的某一个Item时,这个Item的选中状态会改变两次,回到最初的选中状态,checkedListBox2的Items却只会改变一次状态!

郅濠的主页 郅濠 | 初学一级 | 园豆:171
提问于:2015-01-21 17:17
< >
分享
最佳答案
0
收获园豆:20
Launcher | 高人七级 |园豆:45050 | 2015-01-21 17:31

这两个事件,其实我点击checkedListBox的空白处也会触发

郅濠 | 园豆:171 (初学一级) | 2015-01-21 17:32

@郅濠:这个,那个。。。。。你还是看下这个方法吧:https://msdn.microsoft.com/en-us/library/kfw3x8dc(v=vs.110).aspx

在 ALT/MFC 中对 listctrl,treectrl 编程时,我们一直这么用,只是在那里我们用的是 HitTest API。所以,你一定得对你使用的控件有一定深度的了解。

Launcher | 园豆:45050 (高人七级) | 2015-01-21 17:43

@Launcher: 多谢,我先看看,不懂再问你

郅濠 | 园豆:171 (初学一级) | 2015-01-22 10:44
其他回答(1)
0

因为你使用了错误的事件。

双击的话,SelectedValueChanged事件肯定只发生一次。

爱编程的大叔 | 园豆:30844 (高人七级) | 2015-01-21 17:20

那该使用什么事件啦?

支持(0) 反对(0) 郅濠 | 园豆:171 (初学一级) | 2015-01-21 17:21

@郅濠: 自己看,这种东西我又没有用过,哪儿记得。

应该是类似CheckStateChanged或是其他什么的,反正你看这个事件名字就知道,

双击(如果原来SelectValue就在双击的位置,估计一次事件都不会引发)是引发DoubleClick事件(这个事件也行,不过比较土一点,要通过一些怪异的函数找出点在哪儿,然后取出所点击节点的CHECK值,然后你就可以设置另外一个checklistbox了。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30844 (高人七级) | 2015-01-21 17:24

@爱编程的大叔: @Launcher: 多谢,我先看看,不懂再问你

支持(0) 反对(0) 郅濠 | 园豆:171 (初学一级) | 2015-01-22 10:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册