Omn*_*nce 1 .net c# list checkedlistbox
我目前有一个带有几个框的CheckedListBox.我希望能够测试列表中的每个Checkbox以查看它是否已被选中,如果是,则将其文本值(CheckBox.Text)添加到字符串列表中.
这是我有的:
for ( int i = 0; i < multiTaskChecks.Items.Count; i++ )
{
if ( multiTaskChecks.GetItemChecked(i) )
{
checkedMultiTasks.Add(multiTaskChecks.GetItemText(i));
}
}
Run Code Online (Sandbox Code Playgroud)
使用它,GetItemText返回0,1,2,3等,而不是我所追求的文本值.我也尝试过CheckedListBox.Text.IndexOf(i),CheckedListBox.Text.ToList()每个人都没有运气.
我只是无法从CheckedListBox获取其中一个CheckBox的标签文本.任何有关这方面的帮助将非常感激.
首先,您应该能够像这样循环检查已检查的项目
foreach (var item in multiTaskChecks.CheckedItems)
{
}
Run Code Online (Sandbox Code Playgroud)
然后根据类型item,从中获取您想要的任何属性.听起来它只是一个文本,或者你只是想要字符串,所以
foreach (var item in multiTaskChecks.CheckedItems)
{
checkedMultiTasks.Add(item.ToString());
}
Run Code Online (Sandbox Code Playgroud)
或者我更喜欢
checkedMultiTasks.AddRange(multiTaskChecks.CheckedItems.
OfType<object>().Select(??i => i.ToString()));
Run Code Online (Sandbox Code Playgroud)