繁体   English   中英

当用户单击文本时,如何防止复选框状态切换?

[英]How can I prevent a Checkbox state switch when the user clicks on the text?

我有一个带有复选框的列表框。 如果用户单击旁边的文本,我想防止Checkbox更改其状态。 如果只单击小框,我只希望更改它。

有什么办法可以在Windows窗体中执行此操作?

预先致以问候和感谢。

将其旁边的文本放在“标签”中,而不是“复选框”的“文本”属性中。 或者,您可以创建自己的控件,该控件具有一个复选框和一个标签。 然后,控件的Text属性将把Text填充到Label中,并且您可以在控件中公开所有Checkboxes常规属性。

那是相当不规范的行为。 用户将期望能够在单击其标签时更改该复选框,并且当该复选框不起作用时会感到沮丧,困惑和惊讶。 我建议不要这样做。 我不是唯一的一个

(是的,它与网页设计有关,但是许多概念也适用于桌面应用程序设计。)

您始终无法填写Checkbox的Text属性并创建完全独立的Label控件。
否则,您可能必须在控件中进行显式命中测试,以查看它们是否命中了框或文本。 然后,您将不得不担心检查边距,盒子位于哪一侧以及其他可能改变盒子位置的问题。

我个人只能冻结东西。 我通过处理Click和ItemChecked事件冻结复选框,并在修改后将其更改回原来的状态。 我使用菜单来检查/取消选中项目,然后让用户决定使用菜单还是经典行为。

干杯,祝你好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM