0
問題 - 每當我將自定義ComboBox設置爲「ON」時,它將暫時變爲「ON」,但它偶爾會切換到「OFF」。調試自定義Windows.Forms.ComboBox
基本上我有一種方法:
void value_SelectedIndexChanged(object sender, EventArgs e)
{
if((ComboBox)sender.Focused == true)
{
if(value.SelectedIndex == false) // OFF
// set a bunch of variables for OFF
else // ON
// set a bunch of variables for ON
}
}
後我設置組合框爲「ON」時,則執行用於「ON」選擇的索引的代碼路徑。但是,然後,選擇的索引切換到「關閉」,出於我不明白的原因。結果,關閉變量代碼路徑然後執行。
要試圖修復它,我把日誌語句來捕獲發送者和EventArgs的每當這個「value_SelectedIndexChanged」方法被調用。然而,發件人等於類,EventArgs是System.EventArgs。
請告訴我如何調試這個問題。
Simon,我已經介紹了設置OFF變量的代碼。但是,我沒有看到任何可能會改變值的selectedIndex的代碼。我不太熟悉GUI。什麼通常會觸發selectedIndex中的更改? – 2012-04-07 01:56:15
另外,我不完全理解檢查ComboBox是否集中的第一個if語句。我同意你的代碼清楚。 – 2012-04-07 01:57:37
以任何方式更改選區都會更改SelectedIndex屬性。所以這可能是由更改支持ComboBox的數據,更改SelectedItem屬性或其他一些內容引起的。 在方法的末尾添加斷點和單步可能會給出一些線索,說明導致第二次更改的原因。 – Simon 2012-04-09 23:03:03