我编写了一个代码,每当用户从下拉组合框中选择一个值时,他们的选择就会成为集合的第一项(索引 0)。
例子
前
[_ 我的组合框 _][v]
|Dog |Tree |House
用户点击“树”
后
[_ 我的组合框 _][v]
|Tree |Dog |House
问题是,在这个操作之后,即使一切正常,comboBox 仍然是空白的,用户不知道他们做了什么。
但是如果我按照每个人的建议去做,那就是MyComboBox.SelectedIndex = 0;
它会触发一个无限循环,因为我会从事件处理程序 MyComboBox_SelectedIndexChanged(...)
我也尝试过MyComboBox.Text = string_that_contains_what_I_want_to_display;
,但它同时触发了 SelectedIndexChanged 和 SelectedValueChanged。
坦率地说,我不明白为什么即使从具有相同值的项目切换,索引和值都会被触发。据我了解, SelectedValueChanged 应该只在两个项目具有不同内容时触发。
我会感谢任何能帮助我摆脱这个难题的人。
完成后,我只需要在程序界面中显示排序操作的结果。我可以重新加载包含我的控件的整个页面:它可以工作,但效率不高。