以编程方式在 CheckListBox 中设置选中的项目
Programmatically set checked item in CheckListBox
我正在尝试根据某些条件以编程方式在清单框中设置选中的项目。这是代码:
int chItm = 0;
foreach (DataRowView row in chLBDatumi.Items)
{
if (row["DatumGO"].ToString().Equals(myListItems[chItm].ToString()))
{
chLBDatumi.SetItemChecked(chItm, true);
}
chItm++;
}
但它抛出异常:
List that this enumerator is bound to has been modified. An enumerator
can only be used if the list does not change.
还有其他方法可以做到吗?
使用 for
循环代替 foreach
:
for (int i = 0; i < chLBDatumi.Items.Count(); i++)
{
if (chLBDatumi.Items[i]["DatumGO"].ToString().Equals(myListItems[chItm].ToString()))
{
chLBDatumi.SetItemChecked(chItm, true);
}
chItm++;
}
我正在尝试根据某些条件以编程方式在清单框中设置选中的项目。这是代码:
int chItm = 0;
foreach (DataRowView row in chLBDatumi.Items)
{
if (row["DatumGO"].ToString().Equals(myListItems[chItm].ToString()))
{
chLBDatumi.SetItemChecked(chItm, true);
}
chItm++;
}
但它抛出异常:
List that this enumerator is bound to has been modified. An enumerator can only be used if the list does not change.
还有其他方法可以做到吗?
使用 for
循环代替 foreach
:
for (int i = 0; i < chLBDatumi.Items.Count(); i++)
{
if (chLBDatumi.Items[i]["DatumGO"].ToString().Equals(myListItems[chItm].ToString()))
{
chLBDatumi.SetItemChecked(chItm, true);
}
chItm++;
}