如何在不淡化文字的情况下禁用文本框?

时间:2015-08-04 14:06:02

标签: c# asp.net textbox

除了褪色的文字之外,是否还要获取!enabled textbox的所有属性?

我无法使用Label因为我希望textbox最终成为enabled。我无法使用readonly,因为我不希望用户的光标出现在。{/ p>中

2 个答案:

答案 0 :(得分:3)

最好在同一位置同时使用LabelTextBox

隐藏TextBox并在Label中显示内容,直到您准备好进行编辑为止。 此时,隐藏Label并显示TextBox

否则你必须继承TextBox,并覆盖OnPaint方法,如下所示:

protected override void OnPaint(PaintEventArgs e)
{
     SolidBrush drawBrush = new SolidBrush(ForeColor); //Use the ForeColor property
     // Draw string to screen.
     e.Graphics.DrawString(Text, Font, drawBrush, 0f,0f); //Use the Font property
}

请查看此answer和此link

答案 1 :(得分:2)

使用SystemColor而不是KnownColor:

Color color = textbox1.BackColor ;
textbox1.BackColor = System.Drawing.Color.FromArgb(color.A, color.R, color.G, color.B);

color = textbox1.ForeColor ;
textbox1.ForeColor = System.Drawing.Color.FromArgb(color.A, color.R, color.G, color.B);