如何单击检查CheckListBox项?

时间:2009-10-01 11:13:29

标签: c# winforms checkbox

我正在使用C#编写Windows Forms应用程序并使用CheckListBox Control。

如何只需点击一下检查CheckListBox项目

5 个答案:

答案 0 :(得分:150)

我认为你在寻找

CheckOnClick 属性

将其设为真

  

获取或设置一个指示的值   是否应该是复选框   选择项目时切换。

答案 1 :(得分:3)

以这种方式在设计时设置属性

enter image description here

或代码:

CheckedListBox.CheckOnClick = true;

答案 2 :(得分:1)

您也可以通过按钮点击或点击清单

来检查所有内容
private void checkedListBox1_Click(object sender, EventArgs e)
{

    for (int i = 0; i < checkedListBox1.Items.Count; i++)
        checkedListBox1.SetItemChecked(i, true);

}

答案 3 :(得分:1)

您还可以使用CheckListBox外部的复选框来选中/取消选中所有项目。在同一窗体上,在CheckedListBox附近添加一个复选框,并将其命名为CkCheckAll。为CheckBox添加Click事件(我更喜欢CheckChanged事件)。 CheckedListBox旁边还有一个按钮(BtnAdd),它将所有选中的项目添加到数据库表中。仅当选中CheckedListBox中的至少一项时才启用。

    private void CkCheckAll_Click(object sender, EventArgs e)
    {
        CkCheckAll.Text = (CkCheckAll.Checked ? "Uncheck All" : "Check All");
        int num = Cklst_List.Items.Count;
        if (num > 0)
        { 
            for (int i = 0; i < num; i++)
            {
                Cklst_List.SetItemChecked(i, CkCheckAll.Checked);
            }
        }
        BtnAdd_Delete.Enabled = (Cklst_List.CheckedItems.Count > 0) ? true : false;
    }

答案 4 :(得分:0)

我刚刚解决了一个问题,我已经通过设计器将CheckOnClick设置为True,但是UI仍然需要再次单击才能检查项目。我发现无论出于什么原因,更改值时设计器文件都没有更新。为了解决这个问题,我进入了设计器文件并添加了一行

this.Product_Group_CheckedListBox.CheckOnClick = true;

此后,它按预期工作。不知道为什么设计师没有更新,但是也许这种解决方法可以帮助某人。