项目场景:
向C#窗体项目的textbox内添加提示内容,如下图所示效果:
具体实现:
首先:
1.到所要操作的文件(/xx.cs/xx.Designer.cs),这里我是到Form3.cs/Form3.Designer.cs文件
2.找到你所要操作的textBox,楼主是叫textBox1的textBox,如果你们没有修改名字的话,应该也是什么textBox后面加数学什么的。
3.在该textBox下添加
//Lostfocus当一个控件失去焦点时触发,定义控件失去焦点时的方法
this.textBox1.LostFocus += new System.EventHandler(this.textBox1_LostFocus);
//GotFocus是在一个对象得到焦点时发生,定义控件得到焦点时的方法
this.textBox1.GotFocus += new System.EventHandler(this.textBox1_GotFocus);
4.到Form3.cs,创建这两个方法
private void textBox1_LostFocus(object sender, EventArgs e)
{
textBox1.Text = "失去焦点的提示内容";
//显示的字体颜色,灰色
textBox1.ForeColor = Color.Gray;
}
private void textBox1_GotFocus(object sender, EventArgs e)
{
textBox1.Text = "";
//输入的字体颜色,黑色
textBox1.ForeColor = Color.Black;
}
注意点:这两个方法与Form3方法是平行关系,也就是
5.到这里启动项目,查看效果:
ok,完成简单的textbox添加提示内容的效果。
6.但这样设计的话,只要失去焦点,就会将textbox里的内容清空,所以我们要加入判断
这样,输入的内容就没有被清空了。
开始:
获得焦点:
失去焦点:
private void textBox1_LostFocus(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
textBox1.Text = "请输入用户名";
textBox1.ForeColor = Color.Gray;
}else{
textBox2.ForeColor = Color.Black;
}
}
private void textBox1_GotFocus(object sender, EventArgs e)
{
if (textBox1.Text == "请输入用户名")
{
textBox1.Text = "";
textBox1.ForeColor = Color.Black;
}
}
文章对你有帮助,就点个赞吧,一起加油学习!如有什么问题,可评论楼主!楼主会及时改正!