Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何正确呈现控件。Enabled=false?_C#_.net_Winforms - Fatal编程技术网

C# 如何正确呈现控件。Enabled=false?

C# 如何正确呈现控件。Enabled=false?,c#,.net,winforms,C#,.net,Winforms,我有两个自定义用户控件,它们可以显示文本或其他元素,并且是自定义呈现的(通过覆盖OnPaint)。现在,当.NET控件的Enabled属性设置为false时,正常的.NET控件(如标签等)、灰显和“look”将被正确禁用。我的自定义组件没有,并且仍然非常活跃 我不能100%确定使用什么属性或颜色来表示等效的“禁用”状态,有人知道吗 Cheers使用ControlPaint.DrawTextDisabled和ControlPaint.DrawImageDisabled方法。禁用的控件通常灰显,用户

我有两个自定义用户控件,它们可以显示文本或其他元素,并且是自定义呈现的(通过覆盖OnPaint)。现在,当.NET控件的Enabled属性设置为false时,正常的.NET控件(如标签等)、灰显和“look”将被正确禁用。我的自定义组件没有,并且仍然非常活跃

我不能100%确定使用什么属性或颜色来表示等效的“禁用”状态,有人知道吗


Cheers

使用ControlPaint.DrawTextDisabled和ControlPaint.DrawImageDisabled方法。

禁用的控件通常灰显,用户无法与它们交互

例如,禁用文本框的背景将为灰色,用户无法在文本框中设置焦点、编辑或选择文本。禁用的下拉列表将具有灰色背景,用户将无法通过单击它来弹出打开列表


我建议坚持这个惯例,但它可能适合也可能不适合控件的设计。如果您发布一些屏幕截图,可能会提供更相关的答案。

您可以发布一些自定义控件的屏幕截图吗?