使用ComboBox.SelectedItem = -1时,ComboBox不会加载空值

时间:2017-04-17 16:51:50

标签: c# visual-studio-2015 combobox

我有一个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;
    }

我感谢任何帮助 - 如果需要,我很乐意提供更多信息。提前谢谢!

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。