如何从选中的列表框控件的选定值中获取索引?

How to get index from selectedvalue of a checkedlistbox control?

在 windows 表单中的其他控件中,我有一个 CheckedListBox 包含大量 items.The 用于填充 CheckedListBox 的代码是:

Dictionary<string, string> ciDict = new Dictionary<string, string>();
ciDict.Add("1", "Audi");
ciDict.Add("2", "Suzuki");
ciDict.Add("3", "Saab");
ciDict.Add("4", "Tata");

clb.DataSource = new BindingSource(ciDict, null);
clb.DisplayMember = "Value";
clb.ValueMember = "Key";

当我在 table 中保存数据时,我正在保存 'ValueMember'。现在在上述表单的编辑模式下,我希望使用保存的值成员检查 CheckedListBox 项目 earlier.My问题是如何从其值成员中找到CheckedListBox项目的索引???希望你理解我的问题。

while (rdrCCA.Read())
{
   int index= clbCSA.Items.IndexOf(rdrCCA["CCA_ITEM_ID"]);
   clbCSA.SetItemChecked(index, true);
}

其中

clbCSA= name of the checkedlistbox control
CCA_ITEM_ID = name of the table field where valumember are being stored.

此代码不work.Please建议一些代码。

由于您的数据在字典中,按值查找索引的最简单方法是通过这种方式在字典中查找值的索引:

var index = yourDictionary.Keys.ToList().IndexOf("SomeValue");
if(index > -1)
    checkedListBox1.SetItemChecked(index, true);