C# 将组合框的 SelectedIndex 设置为 -1 有什么作用?

C# What does setting the SelectedIndex of a combobox to -1 do?

当我在做我的一个项目时,我试图写入一个数据源组合框,然后将一个值写入组合框,如下所示:

//Create list for combobox
List<string> companyList= new List<string>() { "", "Company1", "Company2" };
//Datsource list to combobox
cbCompanyName.DataSource = companyList;

//If form is set to import data and the billing address is not null
if (importAddress && StaticValues.billAddress != null)
{
    //Fill all fields with data from Static Values class
    cbCompanyName.Text = StaticValues.billAddress.CompanyName;
    cbCountry.Text = StaticValues.billAddress.Country;
}
else
{
    //Set country to US
    cbCountry.SelectedIndex = 0;
}

但是 cbCompanyName.Text = StaticValues.billAddress.CompanyName; 运行 行没有向组合框写入任何文本,直到我将组合框的选定索引设置为 -1。将组合框选定索引设置为 -1 与将选定索引设置为 0 相比会发生什么变化?

将 ComboBox 上的 SelectedIndex 设置为 -1 取消选择(SelectedItem 为 NULL)。设置为 0 会选择 Items

中的第一项

Combobox 需要知道我的值和显示成员是什么, 仅提供数据源还不够。

我想你可以像这样使用或者

  //  comboBox.DisplayMember = "Text";
  //  comboBox.ValueMember = "Value";
int =0;
companyList.forEach(x=> comboBox.Items.Add(new { Text = x.toString(), Value =i++  })); 
comboBox1.SelectedIndex = 0;

你可以看看这篇文章

similar question and answers