检查 CheckedListBox 中的项目而不选择

发布于 2024-08-30 12:19:49 字数 157 浏览 8 评论 0原文

如何让用户一键点击检查 CheckedListBox 中的一项?默认行为是第一次单击选择该项目,第二次单击允许您切换检查。我也不想切换选择上的检查,我正在寻找 ListView 控件的行为,在其中我可以直接单击复选框来切换它们,而无需先选择其项目。

How can I allow the user to click to check an item in CheckedListBox in one click? The default behavior is the first click selects the item, the second click allows you to toggle the check. I don't want to toggle the check on select either, I'm looking for the behavior of the ListView control where I can click directly on check boxes to toggle them without selecting their items first.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

很酷又爱笑 2024-09-06 12:19:49

CheckedListBox 有一个属性 CheckOnClick

CheckOnClick 指示是否应切换复选框
每当选择一个项目时。默认行为是更改
第一次单击时选择,然后让用户再次单击以
应用复选标记。然而,在某些情况下,您可能更喜欢
单击该项目后立即检查该项目。

阅读:如何 CheckOnClick在 CheckedListbox 中,但仅在复选框上方时?

The CheckedListBox has a property CheckOnClick.

CheckOnClick indicates whether the check box should be toggled
whenever an item is selected. The default behavior is to change the
selection on the first click, and then have the user click again to
apply the check mark. In some instances, however, you might prefer
have the item checked as soon as it is clicked.

Read: How do I CheckOnClick in a CheckedListbox but only when over the checkbox?

痴意少年 2024-09-06 12:19:49

我刚刚遇到这个问题,除了 Tim 提到的 SO 问题之外,在 Google 上没有找到太多信息。对于这样一个基本需求来说,这听起来需要做很多工作,这对我来说是一个危险信号。所以我认为问题出在设计上。

就我而言,我非常简单地通过使用 ListView 而不是 CheckedListBox 解决了这个问题(更改其属性可以真正获得 CheckedListBox 行为,否则) 。

I just ran into this problem, and did not find much on Google except the SO question Tim refers to. This sounds like a lot of work for such a basic need, which is a red flag to me. So I guess the problem lies in the design.

In my case I very simply solved it by using a ListView instead of a CheckedListBox (changing its properties allows to really get the CheckedListBox behavior otherwise).

酒废 2024-09-06 12:19:49

像这样设置属性。

checkedListBox1.SelectionMode = SelectionMode.One;
checkedListBox1.CheckOnClick = true;

并在表单类中创建事件。

private void checkedListBox1_MouseUp(object sender, MouseEventArgs e)
    {
        checkedListBox1.SelectedIndex = -1;
    }

Set the properties like this.

checkedListBox1.SelectionMode = SelectionMode.One;
checkedListBox1.CheckOnClick = true;

And create event in form class.

private void checkedListBox1_MouseUp(object sender, MouseEventArgs e)
    {
        checkedListBox1.SelectedIndex = -1;
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文