【问题标题】:How to properly render Control.Enabled = false?如何正确呈现 Control.Enabled = false?
【发布时间】:2009-11-04 10:01:31
【问题描述】:

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

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

干杯

【问题讨论】:

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

标签: c# .net winforms


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    禁用的控件通常是灰色的,用户无法与之交互。

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

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

    【讨论】:

      猜你喜欢
      • 2014-08-25
      • 1970-01-01
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 2018-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多