当用户单击文本时,如何阻止Checkbox状态切换?

时间:2009-10-20 14:13:08

标签: c# winforms text checkbox

我有一个包含Checkboxes的列表框。如果用户点击旁边的文本,我想阻止Checkbox更改其状态。如果直接点击小方框,我只希望它改变。

有没有办法在Windows窗体中执行此操作?

提前问候和感谢。

4 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:2)

这是相当不标准的行为。用户希望能够在点击其标签时更改复选框,并且当它不起作用时会感到沮丧,困惑和惊讶。我建议不要这样做。 I'm not the only one

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

欢呼,祝你好运。