我正在尝试使用for循环来获取checkedlistbox中的所有数据
类似这样的事情
foreach(Item in Checklistbox){
if(Item.Checked){
var text = Item.text + "-True";
}
else{
var text = Item.text + "-False";
}
}
答案 0 :(得分:0)
如果CheckedListBox中的每个项目都是字符串对象,请使用:
for (int i = 0; i < checkedListBox.Items.Count; i++) {
string text;
if (checkedListBox.GetItemChecked(i)) {
text = checkedListBox.Items[i] + "-True";
}
else {
text = checkedListBox.Items[i] + "-False";
}
// do something with text here
}
否则,如果每个项目都不是字符串,但您设置了DisplayMember属性,请使用:
for (int i = 0; i < checkedListBox.Items.Count; i++) {
string text;
if (checkedListBox.GetItemChecked(i)) {
text = checkedListBox.GetItemText(checkedListBox.Items[i]) + "-True";
}
else {
text = checkedListBox.GetItemText(checkedListBox.Items[i]) + "-False";
}
// do something with text here
}
事实上,为了简化它们,你可以这样做:
for (int i = 0; i < checkedListBox.Items.Count; i++)
{
string text = checkedListBox.GetItemText(checkedListBox.Items[i]) + (checkedListBox.GetItemChecked(i) ? "-True" : "-False");
// do something with text here
}
答案 1 :(得分:0)
请注意,您可以将任何类型的对象添加到CheckedListBox,因此我们不知道&#39; var item&#39;是在编译时。因此,我们无法做到这一点 &#39; var text = item.text&#39;但需要使用CheckedListBox.GetItemText(对象项)函数。
foreach (var item in checkedListBox.Items) {
if (checkedListBox1.CheckedItems.Contains(item)) {
var text = checkedListBox.GetItemText(item) + "-True";
} else
{
var text = checkedListBox.GetItemText(item) + "-False";
}
}