如何解决程序运行时会自动选中一个单选框,但不应选中该框
|| 我正在使用Visual Studio 2010用C#编写应用程序。但是,最奇怪的事情突然开始发生了。 我在窗口顶部有两个单选框,都设置为Checked = False
。我已经在代码中到处搜索了,我看不出为什么除了“ 1”之外什么都没有。
现在,在执行应用程序时,这两个框中的第一个(分别称为Radio1
和Radio2
)已开始自动检查。由于存在与选中的复选框相关联的事件,因此这会导致问题,并且此事件在每次打开程序时都会运行(导致一些严重的问题)。
有谁知道为什么要自动选中此框?如前所述,我遍历了代码,以防万一我在某个地方晃来晃去。但事实并非如此。
解决方法
RadioButton类包含一些代码,以确保当其中一个按钮获得焦点并将AutoCheck属性设置为True时,检查该组中的至少一个按钮。这实现了单选按钮的标准行为。如果想要非标准行为,则必须将其AutoCheck属性设置为false并自己实施检查。
, 使用计数器机制,以便您可以第一次覆盖click方法。像这样
form_load
{
counter=0;
}
private void rb1_Click(object sender,EventArgs e)
{
if (counter == 0) { counter++;}
else {
//Do your stuff
}
}
private void rb2_Click(object sender,EventArgs e)
{
if (counter == 0) { counter++;}
else {
//Do your stuff
}
}
希望这对您有所帮助。
, 除非您在设计器内或通过代码设置属性,否则应该没有理由发生这种情况。奇怪。