c# - 从CheckedListBox获取CheckBox的标签文本

标签 c# .net list checkedlistbox

我目前有一个带有几个框的CheckedListBox。我希望能够测试列表中的每个Checkbox以查看是否已选中,如果已选中,则将其文本值(CheckBox.Text)添加到字符串列表中。

这是我所拥有的:

for ( int i = 0; i < multiTaskChecks.Items.Count; i++ )
{
    if ( multiTaskChecks.GetItemChecked(i) )
    {
        checkedMultiTasks.Add(multiTaskChecks.GetItemText(i));
    }
}


使用此命令,GetItemText返回0、1、2、3等,而不是我所追求的文本值。我也尝试过CheckedListBox.Text.IndexOf(i)CheckedListBox.Text.ToList(),每一个都没有运气。

我只是无法从CheckedListBox获得这些CheckBox之一的标签文本。任何帮助,将不胜感激。

最佳答案

首先,您应该只能像这样循环遍历已检查的项目

foreach (var item in multiTaskChecks.CheckedItems)
{
}


然后根据item的类型,从中获取所需的任何属性。听起来像只是一个文本,或者您只想要字符串,所以

foreach (var item in multiTaskChecks.CheckedItems)
{
    checkedMultiTasks.Add(item.ToString());
}


或者我更喜欢

checkedMultiTasks.AddRange(multiTaskChecks.CheckedItems.
    OfType<object>().Select(‌​i => i.ToString()));

关于c# - 从CheckedListBox获取CheckBox的标签文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7117063/

相关文章:

c# - 错误 CS0433 "Type ' X' already exists in both A.dll and B.dll "来自哪里?

swift - 在 macOS 上重新排序 SwiftUI 列表时出现布局问题

java - 从java中的列表中返回一个元素

java - 将非静态列表转换为静态列表

c# - 在发生异常时将自定义对象传递给 RunWorkerCompleted 事件

c# - 在 VS 2015 中将程序集添加到类库

c# - Blob上传未授权 服务器无法验证请求异常

.net - 实体从数据库中具体化后的 EF Core 事件

.net - 如何在 Windows 10 上安装 OpenXML SDK 生产力工具 2.5

c# - 如何在夜间构建期间自动设置程序集版本?