gpt4 book ai didi

c# - SetItemCheckState 中断 foreach!帮助?

转载 作者:太空宇宙 更新时间:2023-11-03 14:14:12 27 4
gpt4 key购买 nike

我是新来的,对 C# 的 CheckedListBox 有疑问。

我使用 SQLite 数据库文件中的数据构建了 CheckedListBox。

我希望用户选中或取消选中项目,并在这样做时更新数据库。

当您再次打开列表时,您之前选中的项目仍应被选中。即,如果数据库中的 bool 字段对特定项目说“真”,则应检查它。

这是我使用的代码:

index = 0;
foreach (DataRowView item in CheckedListBox.Items)
{
if (item.Row["viewed"].ToString() == "true")
{
CheckedListBox.SetItemCheckState(index, CheckState.Checked);
}
index++;
}

当我注释掉 If 语句中的行时,循环遍历所有项目,但是当我像上面那样保留它时,循环只进入一次。

这是为什么呢?

我真的是 C# 新手。

感谢您的帮助:)

最佳答案

使用for循环代替foreach

        for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (((DataRowView)checkedListBox1.Items[i]).Row["viewed"].ToString() == "true")
{
checkedListBox1.SetItemCheckState(i, CheckState.Checked);
}
}

关于c# - SetItemCheckState 中断 foreach!帮助?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6973188/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com