程序运行时会自动选中一个单选框,但它应该';不要

本文关键字:单选框 不要 一个 运行时 程序 | 更新日期: 2023-09-27 18:00:35

我正在使用Visual Studio 2010用C#编写一个应用程序。然而,突然之间,最奇怪的事情开始发生了。

我在窗口顶部有两个无线电盒子,都设置为Checked = False。我已经在代码中搜索了所有地方,我看不出为什么它会是False

现在,当应用程序执行时,这两个框中的第一个(分别称为Radio1Radio2)已经开始自动检查。这会导致一个问题,因为有一个事件与选中的框相关联,现在每次打开程序时都会运行此事件(导致一些严重问题)。

有人知道为什么这个框会自动被选中吗?正如我所提到的,我在代码中到处查找,以防有Radio1.Checked = true;挂在某处。但事实并非如此。

程序运行时会自动选中一个单选框,但它应该';不要

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
              }
    }

希望这是有益的。

除非您在设计器中或通过代码设置属性,否则不应该发生这种情况。奇怪的