关于VB.net RadioButton控件设置cheked时会触发单击事件的问题。。。
我用vb2010做了一个窗体的程序,在窗体上放置了多个RadioButton(在一个容器里),在窗体Load时,将每一个RadioButton设置为false,并且Rad...
我用vb2010做了一个窗体的程序,在窗体上放置了多个RadioButton(在一个容器里),在窗体 Load 时 ,将每一个RadioButton设置为false,并且RadioButton单击事件的处理方法在最后需要设置所有的RadioButton为false。但是,调试的时候发现:窗体启动时,会有一个RadioButton被默认的设置为true,并且触发单击事件;当单击事件的处理方法执行后RadioButton被设置为false,但是单击事件同样被触发了。求大神解惑。
我希望窗体load时,仅仅设置所有RadioButton为false,处理程序中设置所有RadioButton为false时也不会触发单击事件。该怎么做? 展开
我希望窗体load时,仅仅设置所有RadioButton为false,处理程序中设置所有RadioButton为false时也不会触发单击事件。该怎么做? 展开
展开全部
是这样的,VB6也会遇到这个问题,解决办法就是用一个全局变量作为“开关”,举例说明:
Dim x as Boolean=False '设置一个开关
Form_Load事件:
x=True
开始设置RadioButton
......
设置结束
x=False
End Sub
RadioButton单击事件:
If x=False Then
'开始处理
End If
x=True
设置RadioButton
x=False
End Sub
Dim x as Boolean=False '设置一个开关
Form_Load事件:
x=True
开始设置RadioButton
......
设置结束
x=False
End Sub
RadioButton单击事件:
If x=False Then
'开始处理
End If
x=True
设置RadioButton
x=False
End Sub
追问
原来是这样检测单击事件是由谁触发的,谢谢。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表示刚才亲自测试,建立以个Form,拖了一个Panel,在Panel里面放了3个RadioButton(默认Checked就是False),然后启动,发现第一个被选中了,
然后双击了一下它,跳到代码页面,在启动,第二个被选中,双击第二个和第三个,此时再代码一面出现了3个按钮的事件,在三个事件都设好断点,启动程序,发现3个都没有被选中了,而且也没执行任何一个事件。
因此,你说的情况应该和你的代码有关,如果不信,你也试试,至少我是启动后这3个RadioButton都没选中,而且没有执行任意一个RadioButton的CheckedChanged事件。
然后我删除程序,再新建一个项目帮你测试,结果是方法很简单,设置每一个RadioButton的Checked为True,然后再为False即可(默认就是False,只需要双击一下该属性,待改变后再双击一下恢复为False就OK了)
然后双击了一下它,跳到代码页面,在启动,第二个被选中,双击第二个和第三个,此时再代码一面出现了3个按钮的事件,在三个事件都设好断点,启动程序,发现3个都没有被选中了,而且也没执行任何一个事件。
因此,你说的情况应该和你的代码有关,如果不信,你也试试,至少我是启动后这3个RadioButton都没选中,而且没有执行任意一个RadioButton的CheckedChanged事件。
然后我删除程序,再新建一个项目帮你测试,结果是方法很简单,设置每一个RadioButton的Checked为True,然后再为False即可(默认就是False,只需要双击一下该属性,待改变后再双击一下恢复为False就OK了)
追问
谢谢,不过我的测试和你的相反:
在CheckedChanged事件中添加MsgBox("1"),运行,弹出窗口。。。。
表示不解。
追答
这个我不表态了,因为我实际测试两次都通过了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
RadioButton当然会自动设置某一个选中的,不然用什么RadioButton啊?如果用户什么都不选,你认为应该如何处理?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询