应用程序设置的单选按钮的奇怪行为

时间:2013-11-18 11:25:06

标签: vb.net radio-button settings application-settings

我有一个带有两个单选按钮的表单,我使用CheckedChanged事件来显示信息。一切正常。

当我创建两个应用程序设置并将它们中的每一个绑定到每个单选按钮的Checked属性时,问题就出现了。这样做之后,radiobuttons的行为开始变得奇怪。特别是,当我单击未选中的一个时,未选中已选中的一个,但未经检查的一个仍然未被检查!我的意思是:

  • 已检查 - >未选中
  • 未选中 - >未检查!!

即使我使用My.Settings.Save和Load()方法,在执行之间加载先前状态也存在问题。

以前有人发现过这个问题吗?你有什么线索关于发生了什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

这似乎是我前段时间的一个问题 如果我是正确的,你在表单中添加了两个单选按钮,通过代码改变另一个的状态,例如

rdoButton1:
rdoButton2.checked = false

rdoButton2:
rdoButton1.checked = false

如果是这种情况,那就是你的问题。
当您尝试将第一个状态更改为true时,会发生奇怪的事情,rdoButton1将更改rdoButton2的状态,因此也会导致另一个事件发生checkChange事件,导致两者都关闭。

对此非常(非常有趣)的简单解决方案:
添加一个groupBox,将两个单选按钮放在groupBox中,将附加的代码删除到单选按钮,改变其他状态和成功。

原因是groupBox有一个内置函数,只允许在其内部一次检查一个单选按钮,这样就省去了自己编写代码的麻烦。