当前位置:  开发笔记 > 编程语言 > 正文

如何更改禁用TextBox的字体颜色?

如何解决《如何更改禁用TextBox的字体颜色?》经验,为你挑选了3个好方法。

有谁知道哪个属性设置禁用控件的文本颜色?我必须在禁用中显示一些文本,TextBox并且我想将其颜色设置为黑色.



1> Eric Schoono..:

注意:请参阅下面的Cheetah答案,因为它确定了使此解决方案起作用的先决条件.设置BackColorTextBox.


我认为你真正想做的是启用TextBox并设置ReadOnly属性true.

更改禁用文本的颜色有点棘手TextBox.我想你可能必须子类化并覆盖OnPaint事件.

ReadOnly虽然应该给你相同的结果,!Enabled并允许你保持对颜色和格式的控制TextBox.我认为它仍然支持从TextBox禁用中选择和复制文本TextBox.

另一个简单的替代方案是使用a Label而不是a TextBox.



2> Cheetah..:

此外,为了在标记为ReadOnly的TextBox上遵守ForeColor,您必须显式设置BackColor.如果你想让它仍然使用默认的BackColor,你必须明确设置,因为设计师在这里太聪明了.将BackColor设置为当前值就足够了.我在表单的Load事件中执行此操作,如下所示:

private void FormFoo_Load(...) {
    txtFoo.BackColor = txtFoo.BackColor;
}


IIRC,有一个标志可以检查颜色是否已经定制.除非设置了BackColor,否则不会设置该标志.我现在找不到它,但如果你在Reflector中翻找,你或许可以.

3> 小智..:

嗨,从代码端将readonly属性设置为true,或者将运行时设置为不是从设计时间

txtFingerPrints.BackColor = System.Drawing.SystemColors.Info;
txtFingerPrints.ReadOnly = true;

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有