c#comboBox添加默认无选定文本

时间:2014-07-28 10:11:38

标签: c# winforms combobox windows-forms-designer

我有一个组合框,我这样填写:

private void fillFarmAreaData()
{
    DataTable dt = new DataTable();
    dt.Columns.Add("ID", typeof(int));
    dt.Columns.Add("Description", typeof(string));
    farmArea.ValueMember = "ID";
    farmArea.DisplayMember = "Description";
    farmArea.SelectedValue = "ID";
    for (int i = 0; i < StaticData.FarmAreaNames.Count; i++) {
        dt.Rows.Add(StaticData.FarmAreaValues[i], StaticData.FarmAreaNames[i]);
    }
    farmArea.DataSource = dt;
}

其中StaticData类是这样的:

static class  StaticData
{
    public static List<string> FarmAreaNames = new List<string>() { .... strings here};
    public static List<string> FarmAreaValues = new List<string>() { "1", "10", "11", "12", "13" };

}

问题是当我运行表单时,我已经选择了第一个值。我想要的是将第一个选项作为Select Area Name

我尝试了什么

我添加了Selected Area Name作为FarmAreaNames中的第一个字符串,并添加了-1作为第一个FarmAreaValue

然后当用户点击“保存”时,我会检查该值,如果是-1,则会显示验证错误消息。

但是,我想知道Windows窗体是否提供了更好的方法。

感谢

1 个答案:

答案 0 :(得分:1)

在添加Combobox控件的数据源后尝试此操作,最后将项目插入到特定位置。

使用

  

comboBox1.Items.Insert(0,“选择区域名称”);