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