BUG!RadioButton 会自动触发 Click 事件
2025-01-09 22:01:03
今日碰到一个奇怪的问题,RadioButton
控件的Click
事件在没有鼠标点击时也会触发。
网上查了半天后发现和控件拥有焦点有关,当控件以某种方式被激活时会错误地触发Click
事件,比如以下情况:
TabIndex
为0,窗口启动后会激活该控件,此时会触发Click
事件。- 通过上下左右建移动到单选按钮上时,此时会触发
Click
事件。
我碰到的情况和第一种差不多,是某个控件失去焦点后,窗口被激活时又激活了TabIndex
为0的单选控件。
将TabIndex
设置为非0值可以简单的解决问题,但存在瑕疵,比如用方向键移动到控件上时问题依然存在。
好在RadioButton
有个MouseClick
事件,将单击事件放在这里就行了。
相关阅读
How can I prevent a RadioButton from being checked when the Form loads?
RadioButton Click event erroneously fires on startup