如果 valuemember = something,则设置 checkedListBox 项已选中

Set checkedListBox item checked if valuemember = something

我知道如何将项目设置为选中:

checkedListBox.SetItemChecked(index, true);

但是当我打开参数为 int[] valueMembers 的表单时我正在调用它,所以我想检查每个值成员 = 到这个参数来检查。这是我尝试过的:

    public NovaPoruka(int[] primalacID)
    {
        InitializeComponent();

        foreach(CheckedListBox o in checkedListBox1.Items)
        {
            if(primalacID.Contains(Convert.ToInt32(o.SelectedValue)))
            {
                o.SetItemChecked(o.SelectedIndex, true);
            }
        }
    }

编辑: 我还没有看到我在执行此操作之前没有初始化 checkedListBox 所以它没有丢弃错误但是现在当我这样做时我在 CheckedListBox o in checkedListBox1.Items 处丢弃了我的错误所以我做了很少的改变但仍然这样做不知道如何获取 foreach 循环内的当前项目的索引。这是更改后的代码:

foreach(Int_String o in checkedListBox1.Items)
{
    if(primalacID.Contains(Convert.ToInt32(o._int)))
    {
            checkedListBox1.SetItemChecked(checkedListBox1.SelectedIndex, true);
    }
}

当前获取选定索引的方式returns我-1

我做到了。这是最终代码:

for(int i = 0; i < checkedListBox1.Items.Count; i++)
{
    Int_String s = checkedListBox1.Items[i] as Int_String;
    if(primalacID.Contains(s._int))
    {
        checkedListBox1.SetItemChecked(i, true);
    }
}