我会像我见过的其他主题一样问同样的事情。
当我使用Textbox.Enable或Textbox.readOnly时,文本框会变成深色,如何更改此颜色以获得更好的颜色? (白色可能更好)。
答案 0 :(得分:1)
禁用TextBox时,它会忽略ForeColor
。您可以通过实现自定义绘画来覆盖它。
来自来源Thread: -
您可以像这样覆盖OnPaint事件: -
protected override void OnPaint(PaintEventArgs e)
{
SolidBrush drawBrush = new SolidBrush(ForeColor);
// Draw string to screen.
e.Graphics.DrawString(Text, Font, drawBrush, 0f,0f);
}
set the ControlStyles to "UserPaint"
public MyTextBox()//constructor
{
// This call is required by the Windows.Forms Form Designer.
this.SetStyle(ControlStyles.UserPaint,true);
InitializeComponent();
// TODO: Add any initialization after the InitForm call
}
答案 1 :(得分:0)
通过对文本框进行成本优化来覆盖OnPaint方法 另请参阅:How to change the font color of a disabled TextBox?