繁体   English   中英

C# Winforms如何获取CheckedListBox的详细信息?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM