![](/img/trans.png)
[英]How will I get the SelectedItem? C# winforms CheckedListBox control
[英]C# Winforms how to get details of CheckedListBox?
目标
我的目标是简单地执行以下操作:
CheckedListBox
的详细信息。CheckedListBox
记录的标题。boolean
值。 换句话说,如果记录被检查或未检查。我需要将信息存储到字典中。
例子
仅使用硬编码值作为示例,它将是这样的:
Dictionary<string, bool> dict = new Dictionary<string, bool>();
dict.Add("No", true);
dict.Add("Product Name", false);
dict.Add("Sign", true);
dict.Add("Month", true);
我试图从CheckedListBox
获取详细信息:
Dictionary<string, bool> dict = new Dictionary<string, bool>();
foreach(CheckedListBox box in checkedListBox1.Items)
{
dict.Add(box.Items, box.GetItemChecked);
}
使用智能感知时找不到任何正确的属性,我希望获得每条记录的标题和每条记录的检查 state。
好吧, CheckedListBox.Items
返回CheckedListBox.ObjectCollection
的一个实例,因此您的foreach
不太正确。 我想它可能看起来像这样......
foreach (object item in checkedListBox1.Items)
但是,由于您想知道是否检查了每个项目,因此最好使用for
循环来循环遍历这些项目。 您需要使用CheckedListBox.GetItemChecked(int)
来确定项目是否被选中。 function 获取您要检查的项目的索引。
然后,您可以使用该索引和CheckedListBox.Items
来获取每个单独项目的文本。 您可以调用ToString
来获取项目的文本,假设项目不是null
。
把它们放在一起可能看起来像......
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
dict.Add(checkedListBox1.Items[i].ToString(), checkedListBox1.GetItemChecked(i));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.