c# – 如何防止在加载窗体时检查RadioButton?

看起来像是一个Noobie的问题,但我似乎不能阻止我的表单检查我的组Box中的一个Radio Buttons:

如设计师所示,在那里没有检查无线电按钮。

下面是这个简单的表单的所有代码。没有任何要求在这里或在形式的设计师检查单选按钮。

问:在窗体加载时有没有办法防止任何单选按钮被检查?

public ValueTypeSelector() {
  InitializeComponent();
  radioButton1.Checked = false;
  radioButton2.Checked = false;
  radioButton3.Checked = false;
  radioButton4.Checked = false;
  radioButton5.Checked = false;
  radioButton6.Checked = false;
  button1.Enabled = false;
  button1.Click += clickEvent;
  button2.Click += clickEvent;
  radioButton1.Click += clickEvent;
  radioButton2.Click += clickEvent;
  radioButton3.Click += clickEvent;
  radioButton4.Click += clickEvent;
  radioButton5.Click += clickEvent;
  radioButton6.Click += clickEvent;
}

void OnShow(object sender, EventArgs e) {
  foreach (RadioButton rad in Controls) {
    if (rad.Checked) {
      Console.WriteLine("WTF?");
    }
  }
}

void clickEvent(object sender, EventArgs e) {
  RadioButton rad = sender as RadioButton;
  if (rad != null) {
    if (rad.Checked) {
      if (rad == radioButton1) {
        DataType = TableDataType.Boolean; // <= HERE IS THE PROBLEM! FIRES ON FORM LOAD
      } else if (rad == radioButton2) {
        DataType = TableDataType.Character;
      } else if (rad == radioButton3) {
        DataType = TableDataType.DateTime;
      } else if (rad == radioButton4) {
        DataType = TableDataType.Decimal;
      } else if (rad == radioButton5) {
        DataType = TableDataType.Integer;
      } else if (rad == radioButton6) {
        DataType = TableDataType.String;
      } else {
        return;
      }
      button1.Enabled = true;
    }
  } else if (sender == button1) {
    DialogResult = DialogResult.OK;
    Close();
  } else if (sender == button2) {
    DialogResult = DialogResult.Cancel;
    Close();
  }
}

更新:问题是在显示窗体时检查radioButton1:

      if (rad == radioButton1) {
        DataType = TableDataType.Boolean; // <= HERE IS THE PROBLEM! FIRES ON FORM LOAD
      } else if (rad == radioButton2) {
最佳答案
确保您的单选按钮不是第一个tabindex = 0控件。按OK按钮tabindex = 0,然后按单选按钮。

转载注明原文:c# – 如何防止在加载窗体时检查RadioButton? - 代码日志