我有一个comboBox,可以正确加载我从数据库中查询过的数据列表,我唯一的问题是我似乎无法将其加载为空白并强制用户从中选择list(然后在SelectedIndexChanged()方法下推送操作)。通过我的搜索,我已经看到我可以简单地将SelectedItem值更改为-1,并且应该在null选项上加载comboBox,但是当我使用此代码时,我看到没有区别。组合框仍然正确加载列表,但仍会显示列表中的第一个条目。
private void loadPatientList()
{
comboBox_PatientSelect.DataSource = patientList.Distinct().ToList();
comboBox_PatientSelect.DisplayMember = "displayFullName";
comboBox_PatientSelect.ValueMember = "patientID";
comboBox_PatientSelect.SelectedItem = -1;
}
我感谢任何帮助 - 如果需要,我很乐意提供更多信息。提前谢谢!
答案 0 :(得分:4)
您正在寻找的属性是SelectedIndex
。所以把它comboBox_PatientSelect.SelectedIndex = -1;
来自MSDN:
此属性指示组合框列表中当前所选项目的从零开始的索引。设置新索引会引发SelectedIndexChanged事件。
SelectedIndex,SelectedValue和FormattingEnabled的关联如下:
- 如果FormattingEnabled为 false ,则当SelectedValue为空时,SelectedIndex不会设置为-1。
- 如果FormattingEnabled为 true ,则当SelectedValue为空时,SelectedIndex将设置为-1。
注意:
要取消选择当前选定的项目,请将SelectedIndex设置为-1。如果项是数据绑定项,则无法将ComboBox项的SelectedIndex设置为-1。