【问题标题】:How to check CheckListBox item with single click?如何通过单击检查 CheckListBox 项目?
【发布时间】:2010-12-02 23:07:43
【问题描述】:

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

如何一键查看 CheckListBox 项?

【问题讨论】:

    标签: c# winforms checkbox


    【解决方案1】:

    我想你正在寻找

    CheckOnClick属性

    设置为真

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

    【讨论】:

    • 你可以在checkedlistbox控件的属性窗口中找到这个。
    【解决方案2】:

    您也可以通过单击按钮或单击清单来检查所有内容

    private void checkedListBox1_Click(object sender, EventArgs e)
    {
    
        for (int i = 0; i < checkedListBox1.Items.Count; i++)
            checkedListBox1.SetItemChecked(i, true);
    
    }
    

    【讨论】:

    • 如何使用 foreach 语句做到这一点?
    • @Bryan 试试这个,循环体将对象转换为检查列表 foreach(checkedListBox1.CheckedItems 中的对象项)
    • 应避免在循环中使用 count 命令。正如命令的名称所述。该计数使用时间来计算循环的每次迭代中列表中的项目。如果列表只支持计数使用: int totalitems = checkedListBox1.Count;然后在 for 循环中使用变量。
    【解决方案3】:

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

    或通过代码:

    CheckedListBox.CheckOnClick = true;
    

    【讨论】:

      【解决方案4】:

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

      this.Product_Group_CheckedListBox.CheckOnClick = true;
      

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

      【讨论】:

        【解决方案5】:

        您还可以使用 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;
            }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多