1.公共方法
public class MyTextBox : TextBox
{
protected override void OnEnabledChanged(EventArgs e)
{
base.OnEnabledChanged(e);
//设置Enabled为False时
if (this.Enabled)
{
this.SetStyle(ControlStyles.UserPaint, false);
}
else
this.SetStyle(ControlStyles.UserPaint, true);
//再描绘
this.Invalidate();
}
//描绘TextBox
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
System.Drawing.Brush b =
new System.Drawing.SolidBrush(this.ForeColor);
StringFormat sf = new StringFormat();
sf.LineAlignment = StringAlignment.Center;
sf.Alignment = StringAlignment.Center;
//描绘字符串
//e.Graphics.DrawString(this.Text, this.Font, b, -1, 1);
e.Graphics.DrawString(this.Text, this.Font, b, this.ClientRectangle, sf);
b.Dispose();
}
}
{
protected override void OnEnabledChanged(EventArgs e)
{
base.OnEnabledChanged(e);
//设置Enabled为False时
if (this.Enabled)
{
this.SetStyle(ControlStyles.UserPaint, false);
}
else
this.SetStyle(ControlStyles.UserPaint, true);
//再描绘
this.Invalidate();
}
//描绘TextBox
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
System.Drawing.Brush b =
new System.Drawing.SolidBrush(this.ForeColor);
StringFormat sf = new StringFormat();
sf.LineAlignment = StringAlignment.Center;
sf.Alignment = StringAlignment.Center;
//描绘字符串
//e.Graphics.DrawString(this.Text, this.Font, b, -1, 1);
e.Graphics.DrawString(this.Text, this.Font, b, this.ClientRectangle, sf);
b.Dispose();
}
}
2.页面 designer.cs修改为 MyTextBox