我想更改我的表單上的單選按鈕時註冊用戶輸入,但顯然它也會觸發程序更改,我認爲我可以通過使用布爾值來解決此問題,但以下方式有效:過濾用戶對單選按鈕的更改?
此刻我有兩個單選按鈕被鏈接,當一個被觸發時觸發另一個。當更改單個單選按鈕時,在調用兩個方法時過濾輸入的最簡單方法是什麼?
我想更改我的表單上的單選按鈕時註冊用戶輸入,但顯然它也會觸發程序更改,我認爲我可以通過使用布爾值來解決此問題,但以下方式有效:過濾用戶對單選按鈕的更改?
此刻我有兩個單選按鈕被鏈接,當一個被觸發時觸發另一個。當更改單個單選按鈕時,在調用兩個方法時過濾輸入的最簡單方法是什麼?
你可以嘗試添加處理後您設置控件的值:
public Form1() {
InitializeComponent();
radioButton1.Checked = true;
radioButton1.CheckedChanged += new EventHandler(radioButton_CheckedChanged);
radioButton2.CheckedChanged += new EventHandler(radioButton_CheckedChanged);
}
private void radioButton_CheckedChanged(object sender, EventArgs e) {
RadioButton rb = (RadioButton)sender;
if (rb.Checked)
MessageBox.Show("User checked " + rb.Text);
}
謝謝,但我經常更改複選框,我不想每次都註冊事件處理程序。 – JamieB 2012-03-15 19:42:56
@JamieB也許我很困惑的描述*當我更改單個單選按鈕*時,這兩種方法都被調用。是的,正在「取消選中」的單選按鈕也正在調用其「CheckChanged」事件。在這種情況下,您可以通過查看是否檢查發件人來篩選「事件」。在我的示例代碼中,兩個單選按鈕都調用了該事件,但由於'if'條件,只有一個MessageBox正在顯示。 – LarsTech 2012-03-15 19:52:45
啊,道歉拉爾斯,我只是在現實中解決了這個問題。謝謝。 – JamieB 2012-03-15 20:18:25
你是什麼意思「過濾器輸入」的?看起來您需要忽略程序化更改,並且只響應用戶觸發的更改。 – 2012-03-15 18:49:27
有沒有一些代碼?你可以發佈嗎? – 2012-03-15 18:49:34