C# 如何根据键值设置checkedlistbox中的选中项?

C# 如何根据键值设置checkedlistbox中的选中项?,c#,winforms,checkedlistbox,C#,Winforms,Checkedlistbox,我有checkedListbox,我正在为其绑定Id和值的值,当项目被选中时,我将Id保存在数据库中,当表单加载时,我希望基于Id检查checkedListbox项目 我只能根据下面的索引绑定checkedlistbox,我看到的另一个选择是获取值的索引并进行检查,但这在我的情况下不起作用,因为我只有需要检查的checkedlistbox项的Id int index = checkedListBox1.Items.IndexOf("42"); checkedListBox1.SetItemChe

我有checkedListbox,我正在为其绑定Id和值的值,当项目被选中时,我将Id保存在数据库中,当表单加载时,我希望基于Id检查checkedListbox项目

我只能根据下面的索引绑定checkedlistbox,我看到的另一个选择是获取值的索引并进行检查,但这在我的情况下不起作用,因为我只有需要检查的checkedlistbox项的Id

int index = checkedListBox1.Items.IndexOf("42");
checkedListBox1.SetItemChecked(index , true);
这就是我绑定值的方式

ccBoxitem item = new ccBoxitem(a.name, a.id);
checkedListBox1.items.add(item);
public ccBoxitem (string name, int val)
{
    this.name = name;
    this.val = val;
}

如何根据id检查
checkedlistbox

例如,您可以循环查看您的项目,然后检查您想要的项目:

 private void CheckItem(int id)
 {
     for (int i = 0; i < checkedListBox1.Items.Count; i++)
     {
         if ((checkedListBox1.Items[i] as ccBoxitem)?.val == id)
         {
             checkedListBox1.SetItemChecked(i, true);
         }
     }
 }

例如,可以循环浏览项目,然后选中所需的项目:

 private void CheckItem(int id)
 {
     for (int i = 0; i < checkedListBox1.Items.Count; i++)
     {
         if ((checkedListBox1.Items[i] as ccBoxitem)?.val == id)
         {
             checkedListBox1.SetItemChecked(i, true);
         }
     }
 }

您可以使用下面的方法,它将首先根据其值选择所需项目,然后检查所选项目

void CheckItem(CheckedListBox checkedListBox, int id)
{
    checkedListBox.SelectedItem = checkedListBox.Items.OfType<ccBoxitem>().ToList().FirstOrDefault(i => i.val == id);
    checkedListBox.SetItemChecked(checkedListBox.SelectedIndex, true);
    checkedListBox.SelectedItem = null; // To clear selection if needed
}

您可以使用下面的方法,它将首先根据其值选择所需项目,然后检查所选项目

void CheckItem(CheckedListBox checkedListBox, int id)
{
    checkedListBox.SelectedItem = checkedListBox.Items.OfType<ccBoxitem>().ToList().FirstOrDefault(i => i.val == id);
    checkedListBox.SetItemChecked(checkedListBox.SelectedIndex, true);
    checkedListBox.SelectedItem = null; // To clear selection if needed
}

什么是checkedlistbox项的
Id
?更新的my postSo
val
是一个
Id
?是的val是一个Id什么是checkedlistbox项的
Id
?更新的my postSo
val
是一个
Id
?是的val是一个Id