有没有办法在.NET窗口应用程序窗体中更改所有禁用项的默认颜色?

时间:2016-06-08 15:13:45

标签: .net forms winforms windows-applications systemcolors

启用和禁用控件之间的文本阴影差异非常小,以至于我第一次构建它时无法区分它们。

当我显示按钮,标签,文本标题等的ForeColor属性时,它们显示为SystemColor.ControlText,无论它们是禁用还是启用,但它们肯定是不同的。

所以它让我想知道"禁用"效果是有效的,我的表格可能会出现什么问题,这会让它变得微不足道。

我尝试将ForeColor设置为不同的颜色,甚至是Red,但除非我能够控制它,否则不会显示

那么我有遗失的财产吗?

表单级别是否有默认属性?

1 个答案:

答案 0 :(得分:1)

没有您缺少的属性或默认表单属性。我认为您将不得不为此行为编写自定义控件并覆盖OnPaint事件。有趣,但相当多的工作。

RichTextBox可能是TextBoxes的变通方法。捕获EnabledChanged事件的简单案例。

private void richTextBox1_EnabledChanged(object sender, EventArgs e)
{
        richTextBox1.ForeColor = richTextBox1.Enabled ? Color.Black : Color.Red;
}