禁用C#时更改文本框的颜色

本文关键字:颜色 文本 禁用 | 更新日期: 2023-09-27 18:28:21

我将像我看到的其他主题一样问同样的问题。

当我使用Textbox.Enable或Textbox.readOnly时,文本框会变暗,我如何将此颜色更改为更好的颜色?(白色可能更好)。

禁用C#时更改文本框的颜色

当TextBox被禁用时,它会忽略ForeColor。可以通过实现自定义绘制来覆盖此项。

来自源线程:-

你可以像这样覆盖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
}

通过自定义文本框来覆盖OnPaint方法
此外,您还可以看到:如何更改禁用的TextBox的字体颜色?