我有一个CheckedListBox,我想检查另一个列表中的所有项目。
由于CheckedItems属性为只读且类型不匹配,因此此代码不起作用,但是它对我要执行的操作提供了最佳的思路。

    checkedListBox1.DataSource = DataSetSelectAll().Tables[0];
    checkedListBox1.ValueMember = "id_table";
    checkedListBox1.DisplayMember = "name";

    List<tableClass> list = MyCheckedList();
    checkedListBox1.CheckedItems = list;

我知道这是错误的,但不知道如何更好地解释。

最佳答案

像这样一次无法设置(检查)许多项目,checkedListBox1.CheckedItems = list;

更好的是,您可以将用于循环,例如:

List<tableClass> list = MyCheckedList();
for (int count = 0; count < checkedListBox1.Items.Count; count++)
{
  if (list.Contains(checkedListBox1.Items[count].ToString()))
  {
    checkedListBox1.SetItemChecked(count, true);
  }
}

关于c# - 从列表或数据集中在checkedlistbox中设置选中的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13205105/

10-10 15:54