CSharp - 在 C# 中,读取选中的RadioButton的正确方法是什么?

我想知道,是否有什么正确读取GroupBox中选中了RadioButton的方法,到目前为止,我将根据每个GroupBox创建一些内容。


 private int checkRadioButton() {
 if (radioButtonKwartal1.Checked) {
 return 1;
 } else if (radioButtonKwartal2.Checked) {
 return 2;
 } else if (radioButtonKwartal3.Checked) {
 return 3;
 } else if (radioButtonKwartal4.Checked) {
 return 4;
 }
 return 0;

 }

我怎么能实现这一目标?上面的代码让我得到返回值,然后我就可以在程序中使用了。

时间:

另一种方法是将所有RadioButtons连接到单个事件,并在单击它们时管理状态,从MSDN中提取以下代码:


void radioButton_CheckedChanged(object sender, EventArgs e)
{
 RadioButton rb = sender as RadioButton;

 if (rb == null)
 {
 MessageBox.Show("Sender is not a RadioButton");
 return;
 }

 // Ensure that the RadioButton.Checked property
 // changed to true.
 if (rb.Checked)
 {
 // Keep track of the selected RadioButton by saving a reference
 // to it.
 selectedrb = rb;
 }
}

http://msdn.microsoft.com/en-us/library/system.windows.forms.radiobutton.aspx

你可以使用CheckedChanged事件来创建你自己的跟踪器。

来自MSDN


void radioButton_CheckedChanged(object sender, EventArgs e)
{
 RadioButton rb = sender as RadioButton;

 if (rb == null)
 {
 MessageBox.Show("Sender is not a RadioButton");
 return;
 }

 // Ensure that the RadioButton.Checked property
 // changed to true.
 if (rb.Checked)
 {
 // Keep track of the selected RadioButton by saving a reference
 // to it.
 selectedrb = rb;
 }
}

你需要创建一个GroupBoxes字典,或者在每组中存储选定的单选按钮,该组假定为rb.Parent

...