我的表单上有一个checkedlistbox,我使用Dictionary填充。当我填充框时它工作正常,但当我尝试检索所选对象时,我无法弄清楚如何将其作为字典。
我的代码填充它:
reader = widgetSelection.ExecuteReader();
while (reader.Read())
{
widgets.Add(reader.GetInt32(0), reader.GetString(reader.GetOrdinal("name")));
}
foreach (var widget in widgets)
{
chbWidgets.Items.Add(widget);
}
它完全填充,但任何做foreach或其他任何东西的尝试只会作为对象返回,我无法找出投射项目的正确方法。任何帮助都会很棒。
答案 0 :(得分:1)
如果您的示例中的widgets
是Dictionary<int, string>
,则chbWidgets.Items.Add(widget)
正在向KeyValuePair<int, string>
集合添加Items
。要获取所选项目,您可以使用chbWidgets.CheckedItems.Cast<KeyValuePair<int, string>>()
。