我有一个组合框,我这样填写:
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窗体是否提供了更好的方法。
感谢
答案 0 :(得分:1)
在添加Combobox控件的数据源后尝试此操作,最后将项目插入到特定位置。
使用
comboBox1.Items.Insert(0,“选择区域名称”);