代码想要实现的功能是:
实现原理:
一、继承TextBox类,重写TextBox的三个事件(OnHandleCreated,OnTextChanged,OnGotFocus)
二、 不能直接在TextBoxChange中增加判断,容易频繁GDI绘图
三、 使用Timer进行延时GDI+,避免频繁绘图
代码实现:
先添加一个用户控件
将新建的UserControl继承TextBox
public partial class UserControl1 : TextBox
生成一个方法,实现当文本改变或焦点改变时判断文本长度,当Text.Length=0时,用GDI在TextBox上绘制显示需要的文本
int i = 0; private void ReDraw(TextBox textBox)
{
Graphics g;
g = Graphics.FromHwnd(textBox.Handle);
if (textBox.Text.Length <=