说明:记录通过自带的控件 TextBox 实现水印提示效果,平时显示灰色的提示文字,点击进入输入状态后自动删除提示文字,如果输入框为空自动显示提示文字。
1.效果图:
未输入状态
点击输入框后的状态
2.实现方法
在 Form 串口中放一个 TextBox 控件,取名 KEY_textBox
第1步:初始化,在Form 函数中初始化控件的水印显示内容。
public static string KEY_textBox_Text = "输入KEY,32字节 16 进制字符串,如:0123456789ABCDEF0123456789ABCDEF";
public Form1(UInt32 reg)
{
InitializeComponent();
KEY_textBox.Text = KEY_textBox_Text; //默认显示的提示文字
KEY_textBox.ForeColor = Color.Gray; //字体显示灰色
}
第2步:右键选择控件打开【属性】菜单
点击 闪电 图标,分别双击 Enter 和 Leave 右侧的空白窗口,创建对应的事件函数。
第3步:Enter 的事件函数
//进入输入状态,如果控件中的Text 是默认值或者是空就清空显示内容,并把文字设置为黑色显示。
private void KEY_textBox_Enter(object sender, EventArgs e)
{
if ((KEY_textBox.Text == KEY_textBox_Text) || (KEY_textBox.Text == ""))
{
KEY_textBox.Text = "";
KEY_textBox.ForeColor = Color.Black;
}
}
第4步:Leave 的事件函数
//控件不再是活动状态时
private void KEY_textBox_Leave(object sender, EventArgs e)
{
if (KEY_textBox.Text == "") //控件不再是活动状态时,如果控件内容为空,就自动回复为提示内容,颜色显示灰色。
{
KEY_textBox.Text = KEY_textBox_Text;
KEY_textBox.ForeColor = Color.Gray;
return;
}
}