2008年11月19日星期三

Visual Studio2005 中RadioButton自动执行Click事件响应代码问题解决

【现象描述】
我们在使用Visual Studio 2005做Winform开发的过程中发现了一个奇怪的现象,就是如果窗体上有几个RadioButton,而这些RadioButton设置的Click事件的话,那么当窗体启动时,无论你是否点击了RadioButton,则Click事件响应代码都会被执行一次,后续的操作正常。

【分析和解决】
因为后续的操作正常,而且改变Click的事件响应代码现象依旧,故可以排除Click事件响应代码的问题,经过跟踪,发现在窗体初始化阶段,系统调用了Click事件的响应代码,而且RadioButton的Checked属性默认是false,而当窗体显示出后,第一个RadioButton自动变为选中状态,而Click事件响应代码就是在此时被执行。
找到原因后进行解决,先把RadioButton的Checked属性设为true,现象依旧,明确的把RadioButton的Checked属性设置为false,问题解决。

【结论】
尽管RadioButton的Checked属性默认是false,但是只要没有明确的设置为false(用代码或属性编辑器),系统仍然会调用Click事件响应方法(如果有),所以要明确的设置为false(用代码或属性编辑器)才行。

1 条评论:

匿名 说...

从QQ空间一直跟踪到你的博客,不错,继续加油!!