[英]ComboBox SelectedIndexChanged event fired twice for items with same DisplayMember
我有一個帶有3個項目的組合框(“ abc”,“ abc”和“ bbb”)。 組合框還具有AutoCompleteMode“ SuggestAppend”和AutoCompleteSource“ ListItems”屬性。 現在,我希望文本框顯示組合框的SelectedIndex,如下所示:
http://i.imgur.com/MJ4JdDN.png
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.textBox1.Text = this.comboBox1.SelectedIndex.ToString();
}
在我選擇第二個“ abc”之前,一切似乎都很好,SelectedIndexChanged事件將第一次輸入並在文本框中正確顯示索引。 但是,當組合框失去焦點時,SelectedIndexChanged事件將再次觸發,從而導致索引顯示錯誤。 我發現它只發生在具有相同值的項目上。 有什么辦法可以阻止事件觸發兩次?
http://i.imgur.com/gEw46xf.png
this.comboBox1.DataSource = dt;
this.comboBox1.DisplayMember = "Description"; //Some descriptive field to be shown in combobox
this.comboBox1.ValueMember = "Code"; //Unique code that user won't understand
this.comboBox1.SelectedIndex = -1;
將comboBox1_SelectedIndexChanged代碼放入comboBox1_ValueChanged中,然后在事件參數中獲取索引(發送方,即您的comboBox將其投射到combobox中)。
使用comboBox1.SelectedIndex,您將獲得索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.