我有一个如下组合框,有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;
答案 0 :(得分:0)
将comboBox1_SelectedIndexChanged代码放在comboBox1_ValueChanged中,然后你会在事件参数中得到索引(发件人,即你的comboBox将它放在组合框中)。
使用comboBox1.SelectedIndex,你将获得索引。