如果你有一个带CheckOnClick = False的CheckedListBox,那么当检查项目时,如果首先选择了项目,则不会触发ItemCheck事件...暂停...然后再次单击以检查该项目。但如果是快速双击而没有暂停,则会触发事件。
这是正确的行为吗?无论点击速度如何,都应触发ItemCheck事件,对吧?
我相信这是一种很容易复制的奇怪行为:
还有其他人遇到过这个问题吗?
2015年5月1日编辑
问题是在ItemCheck事件之后直接触发SelectedIndexChanged事件。这意味着它会在每个ItemCheck之前触发,然后立即触发。标签不会显示更改,因为它发生得太快,但切换到MessageBox.Show()会验证它是否会在之后直接触发。
答案 0 :(得分:1)
问题是在ItemCheck事件之后直接触发SelectedIndexChanged事件。这意味着它会在每个ItemCheck之前触发,然后立即触发。标签不会显示更改,因为它发生得太快,但切换到MessageBox.Show()会验证它是否会在之后直接触发。
答案 1 :(得分:0)
根据MSDN checkedlistbox.checkonclick(阅读备注部分)检查点击属性控件是否在第一次点击或第二次点击时选中了列表框项。在你的情况下,检查点击是flase它需要两次点击检查项目,因此解雇ItemCheck事件。