WinForms 组合框
WinForms ComboBox
我正在尝试将组合框项目之一标记为 selected。
所以我正在像这样构建我的组合框:
var drop = new Dictionary<int, string>();
while (RegReader.Read())
{
drop.Add(Convert.ToInt32(RegReader["intRulesID"]), RegReader["txtName"].ToString());
}
RegRuleDrop.DataSource = new BindingSource(drop, null);
RegRuleDrop.DisplayMember = "Value";
RegRuleDrop.ValueMember = "Key";
现在,RegRuleDrop 中的一项应根据此代码上方 reader 中的值预先 selected。
现在,问题是我需要 select 值基于实际的 ListItem VALUE 而不是 TEXT。
举个例子
drop.Add(1, "Test");
drop.Add(2, "Test2");
drop.Add(3, "Test3");
我需要使用 1,2 或 3 而非 Test、Test2 或 Test3 来查找索引
有什么想法吗?
当您将 DataSource 设置为 BindingSource 时,select 给定属于 ValueMember 属性 的值的项目所需的唯一操作是
drop.Add(1, "Test1");
drop.Add(2, "Test2");
drop.Add(99, "Test99");
drop.Add(3, "Test3");
.....
RegRuleDrop.SelectedValue = 99
我正在尝试将组合框项目之一标记为 selected。
所以我正在像这样构建我的组合框:
var drop = new Dictionary<int, string>();
while (RegReader.Read())
{
drop.Add(Convert.ToInt32(RegReader["intRulesID"]), RegReader["txtName"].ToString());
}
RegRuleDrop.DataSource = new BindingSource(drop, null);
RegRuleDrop.DisplayMember = "Value";
RegRuleDrop.ValueMember = "Key";
现在,RegRuleDrop 中的一项应根据此代码上方 reader 中的值预先 selected。 现在,问题是我需要 select 值基于实际的 ListItem VALUE 而不是 TEXT。
举个例子
drop.Add(1, "Test");
drop.Add(2, "Test2");
drop.Add(3, "Test3");
我需要使用 1,2 或 3 而非 Test、Test2 或 Test3 来查找索引
有什么想法吗?
当您将 DataSource 设置为 BindingSource 时,select 给定属于 ValueMember 属性 的值的项目所需的唯一操作是
drop.Add(1, "Test1");
drop.Add(2, "Test2");
drop.Add(99, "Test99");
drop.Add(3, "Test3");
.....
RegRuleDrop.SelectedValue = 99