我ComboBox
在我的 WinForms 应用程序中有一个DropDown
样式,或者换句话说,它允许用户键入一个值,或者从下拉列表中选择它。它看起来像这样:
我的目标是根据其索引从下拉列表中选择一个项目。所以我这样做:
//I know for sure that i >= 0 && i < comboBox.Items.Count
comboBox.SelectedIndex = i; //i = index of the existing item
这工作得很好,除非在上面的行之后的一段时间我显示一条消息:
MessageBox.Show("Error");
在这种情况下,在我在这台计算机上进行测试期间,大约 80% 的时间都选择了组合框中的项目。所以这里显然存在一些时间问题。
我需要知道的是选择 ComboBox 项目的“确定”方式是什么?(我的意思是,确保在执行它之后的下一行代码时选择它,或者执行它synchronously
。)
PS。我知道我可以简单地将文本分配给它的Text
属性,但这不是我想要的。您在我的 ComboBox 实现中看到,我可以为每个项目分配自定义对象,另外我依赖于许多基于选择的事件,例如SelectedIndexChanged
.
PS2。我不确定这是否只影响具有该DropDown
样式的组合框,还是所有这些组合框。