C#: 实现 TextBox 水印提示效果

说明:记录通过自带的控件 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 右侧的空白窗口,创建对应的事件函数。

C#: 实现 TextBox 水印提示效果_第1张图片

第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;
	}
}

你可能感兴趣的:(C#,c#,开发语言)