在我的.NET应用程序的GUI中(在C#中完成,但我认为不重要)是TextBox
es和RadioButton
处理用户可更改的数据。
对于TextBoxes,我处理KeyDown
和TextChanged
事件。在TextBoxes Text
的初始设置期间,TextChanged
事件当然会触发,但由于事先没有KeyDown
事件,因此用户不会更改数据(因此它会不必写回商店。)
现在我想使用Click
或MouseClick
事件作为用户交互检测器对RadioButtons使用相同的技术。不幸的是,Click
事件后,CheckedChanged
个事件都会触发 。
这 - 恕我直言 - 是错的。在单击控件之前,Checked
属性无法更改。这是一个逻辑错误还是因为某种原因而发生?有没有办法强迫正确的行为?
(为了解决GUI问题,当然我可以监控更合适的等价MouseDown
或者只是引入一个变量来初始设置Control的值。但这是关于理解这里的逻辑。)