Winform给TextBox设置默认值(获取焦点后默认值消失)

时间:2024-01-11 20:07:44

主要是通过TextBox的获取焦点Enter和失去焦点Leave两个事件来实现的,

思路如下:

1.设置一个字符串常量,作为TextBox的默认值;

2.在界面的构造方法中将默认值赋值给TextBox,并设置TextBox的ForeColor为灰色;

3.编写获取焦点事件 TextBox_Enter(object sender, EventArgs e) ,判断TextBox的Text是否等于默认值,

是:则将TextBox内容清空,并将前景色ForeColor改成正常的颜色

4.失去焦点事件 TextBox_Leave(object sender, EventArgs e),判断TextBox的Text是否为空,如果为空,则再次以灰色来显示默认值

具体的代码如下:

     //TextBox的默认值
private const String DEFAULT_TEXT = "Please enter your words.";
//构造方法
public Form1()
{
//...其他代码 //为TextBox设置默认值和默认值的前景色(字体颜色)
SetDefaultText();
} private void SetDefaultText()
{
textBox1.Text = DEFAULT_TEXT;
textBox1.ForeColor = Color.Gray;
} //获取焦点事件 Enter
private void textBox1_Enter(object sender, EventArgs e)
{
if (textBox1.Text == DEFAULT_TEXT)
{
textBox1.Text = "";
textBox1.ForeColor = Color.Black;
}
} //失去焦点事件 Leave
private void textBox1_Leave(object sender, EventArgs e)
{
if (String.IsNullOrEmpty(textBox1.Text))
SetDefaultDesc();
}