主要是通过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是否为空,如果为空,则再次以灰色来显示默认值
具体的代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 //TextBox的默认值 2 private const String DEFAULT_TEXT = "Please enter your words."; 3 //构造方法 4 public Form1() 5 { 6 //...其他代码 7 8 //为TextBox设置默认值和默认值的前景色(字体颜色) 9 SetDefaultText(); 10 } 11 12 private void SetDefaultText() 13 { 14 textBox1.Text = DEFAULT_TEXT; 15 textBox1.ForeColor = Color.Gray; 16 } 17 18 //获取焦点事件 Enter 19 private void textBox1_Enter(object sender, EventArgs e) 20 { 21 if (textBox1.Text == DEFAULT_TEXT) 22 { 23 textBox1.Text = ""; 24 textBox1.ForeColor = Color.Black; 25 } 26 } 27 28 //失去焦点事件 Leave 29 private void textBox1_Leave(object sender, EventArgs e) 30 { 31 if (String.IsNullOrEmpty(textBox1.Text)) 32 SetDefaultDesc(); 33 }