确定radiobutton组的检查状态是否已更改

时间:2016-10-08 12:03:42

标签: c# winforms

我有一组8个radiobuttons,是否有一种简单的方法来检查是否"检查"该组的状态是否已更改?我不需要知道检查了哪个按钮,只是检查了不同的按钮。有点像整个组的CheckedChanged事件。

3 个答案:

答案 0 :(得分:3)

您可以为所有单选按钮分配相同的CheckedChanged事件处理程序。检查无线电按钮时,方法将被调用两次(对于无线电按钮丢失复选标记和被检查的无线电按钮)。因此,只处理被检查的事件。

  private void anyRadioButton_CheckedChanged(object sender, EventArgs e)
  {
       // The radio button that raised the event
       var radioButton = sender as RadioButton;

       // Only do something when the event was raised by the radiobutton 
       // being checked, so we don't do this twice.
       if(radioButton.Checked)
       {
            // Do something here 
       }
  }

答案 1 :(得分:2)

我认为你要找的是这个,这是组中所有单选按钮的通用处理程序

radioButton1.CheckedChanged += new EventHandler(radioButtons_CheckedChanged);
radioButton2.CheckedChanged += new EventHandler(radioButtons_CheckedChanged);

答案 2 :(得分:1)

您可以将所有RadioButtons的CheckedChanged事件连接到同一个处理程序。请遵循此代码。

public Form1()
    {
        rB1.CheckedChanged += new EventHandler(rB_CheckedChanged);
        rB2.CheckedChanged += new EventHandler(rB_CheckedChanged);


    }

    private void rB_CheckedChanged (object sender, EventArgs e)
    {
        RadioButton radioButton = sender as RadioButton;

        if (rB1.Checked)
        {

        }
        else if (rB2.Checked)
        {

        }
    }