我正在尝试将其中一个组合框项目标记为已选中。
所以我正在像这样构建我的组合框:
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 中的一项应根据此代码上方阅读器的值进行预选。 现在,问题是我需要根据实际的 ListItem VALUE 而不是 TEXT 选择值。
举个例子
drop.Add(1, "Test");
drop.Add(2, "Test2");
drop.Add(3, "Test3");
我需要使用 1,2 或 3 而不是 Test、Test2 或 Test3 来查找索引
有什么想法吗?
最佳答案
当您将 DataSource 设置为 BindingSource 时,在给定属于 ValueMember 属性的值的情况下选择项目所需的唯一操作是
drop.Add(1, "Test1");
drop.Add(2, "Test2");
drop.Add(99, "Test99");
drop.Add(3, "Test3");
.....
RegRuleDrop.SelectedValue = 99
关于c# - WinForms 组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28720651/