如何以编程方式取消选中 c# 窗体中的 checkedListBox 中的复选框?

How to programmatically uncheck a checkbox in a checkedListBoxin a c# form?

我想写一个方法,根据条件,在 c# 的复选框列表中只取消选中某个复选框。我已经为变量 "money" 分配了一个值,确定了列表中复选框的索引,并为其值分配了一个名为 "index" 的全局变量。此外,为 checkedList Name 输入的字符串与 checkedListBox 的名称相同。

这是我的代码:

public void updateResources(String checkedListName, int cost)
        {
            if (money < cost)
            {
                if (checkedListName == "checkedListBoxBasics")
                {
                    //uncheck box at index
                }
                else if (checkedListName == "checkedListBoxConstruction")
                {
                    //uncheck box at index
                }

                //... more else if statements
            }
            else
            {
                //implement input variables with other external variables
            }
        }

如果您已经知道需要更改状态的复选框的索引,则可以使用CheckListBox.SetItemCheckState方法。例如,

 checkedListBoxBasics.SetItemCheckState(index, CheckState.Checked);

或取消勾选

checkedListBoxBasics.SetItemCheckState(index, CheckState.Unchecked);