tôi dường như không thể ngăn chặn hình thức của tôi từ kiểm tra một trong những Đài phát thanh Buttons trong Group Box
tôi:Làm cách nào để ngăn không cho RadioButton được kiểm tra khi Biểu mẫu tải?
Như đã trình bày trong các nhà thiết kế, không có Đài phát thanh Buttons được kiểm tra ở đó.
Dưới đây chỉ là về tất cả mã cho biểu mẫu đơn giản này. Không có gì gọi cho Nút radio để được chọn tại đây hoặc trong nhà thiết kế của biểu mẫu.
Q: Có cách nào để ngăn bất kỳ Nút radio nào không được kiểm tra khi biểu mẫu tải không?
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();
}
}
UPDATE: Vấn đề là radioButton1
được kiểm tra khi biểu mẫu được hiển thị:
if (rad == radioButton1) {
DataType = TableDataType.Boolean; // <= HERE IS THE PROBLEM! FIRES ON FORM LOAD
} else if (rad == radioButton2) {
thêm một số nút radio và làm cho nút ẩn đi :) –
LOL. Tôi muốn kiểm soát mã của mình! – jp2code