簡體   English   中英

對於具有相同DisplayMember的項目,ComboBox SelectedIndexChanged事件觸發了兩次

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM