C#中TextBox水印提示的实现过程
2016-05-31 09:50
337 查看
C#项目开发中在设计登录界面时,经常会遇到TextBox的水印提示要求。这里简单描述一下项目在实现水印提示的过程设置。如下图图1所示。
![](https://img-blog.csdn.net/20160531095107570?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图1 窗体布局
一、窗体布局(如图1所示)
1、 在窗体中放置两个label标签,其中text属性分别为“用户名:”和“密码:”。
2、 放置两个TextBox控件,其(Name)属性命名为“UserNameTxt”和“PwdTxt”。
3、 在放置两个label标签,把它们放在TextBox控件中,其(Name)属性命名为“labelUser”和“labelPwd”。
4、 在窗体中放置两个button按钮,其(Name)属性命名为“Login”和“Cancel”。
二、代码设置
在LoginForm.cs文件中添加如下代码:
//控制label标签消失,改变passwordchar的属性值
privatevoidtextChanged(object sender,
EventArgse)
{
if(sender.Equals(UserNameTxt))
{
labelUser.Visible = UserNameTxt.Text.Length < 1;
}
elseif(sender.Equals(PwdTxt))
{
labelPwd.Visible = PwdTxt.Text.Length < 1;
PwdTxt.PasswordChar =
'*';//隐藏输入的密码
}
}
//获取焦点
privatevoidlabel_Click(object sender,
EventArgse)
{
if(sender.Equals(labelUser))
{
UserNameTxt.Focus();
}
elseif(sender.Equals(labelPwd))
{
PwdTxt.Focus();
//PwdTxt.PasswordChar = '*';
}
}
三、事件方法关联
在实现控件布局和方法体后,接下来就是实现它们的的关联。将两个TextBox控件, “UserNameTxt”和“PwdTxt”的TextChanged事件分别关联textChanged方法。将两个label标签“labelUser”和“labelPwd”的Click事件分别关联label_Click方法。如下图2和图3所示。
![](https://img-blog.csdn.net/20160531095305195?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图2 关联textChanged方法
![](https://img-blog.csdn.net/20160531095436555?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图3 关联label_Click方法
四、实现的效果
![](https://img-blog.csdn.net/20160531095518431?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图4 登录输入时的效果
图1 窗体布局
一、窗体布局(如图1所示)
1、 在窗体中放置两个label标签,其中text属性分别为“用户名:”和“密码:”。
2、 放置两个TextBox控件,其(Name)属性命名为“UserNameTxt”和“PwdTxt”。
3、 在放置两个label标签,把它们放在TextBox控件中,其(Name)属性命名为“labelUser”和“labelPwd”。
4、 在窗体中放置两个button按钮,其(Name)属性命名为“Login”和“Cancel”。
二、代码设置
在LoginForm.cs文件中添加如下代码:
//控制label标签消失,改变passwordchar的属性值
privatevoidtextChanged(object sender,
EventArgse)
{
if(sender.Equals(UserNameTxt))
{
labelUser.Visible = UserNameTxt.Text.Length < 1;
}
elseif(sender.Equals(PwdTxt))
{
labelPwd.Visible = PwdTxt.Text.Length < 1;
PwdTxt.PasswordChar =
'*';//隐藏输入的密码
}
}
//获取焦点
privatevoidlabel_Click(object sender,
EventArgse)
{
if(sender.Equals(labelUser))
{
UserNameTxt.Focus();
}
elseif(sender.Equals(labelPwd))
{
PwdTxt.Focus();
//PwdTxt.PasswordChar = '*';
}
}
三、事件方法关联
在实现控件布局和方法体后,接下来就是实现它们的的关联。将两个TextBox控件, “UserNameTxt”和“PwdTxt”的TextChanged事件分别关联textChanged方法。将两个label标签“labelUser”和“labelPwd”的Click事件分别关联label_Click方法。如下图2和图3所示。
图2 关联textChanged方法
图3 关联label_Click方法
四、实现的效果
图4 登录输入时的效果
相关文章推荐
- C# 中普通类、抽象类、接口之间的区别
- C#数字小写转大写
- C# 3.0新语言特性和改进(一)
- CSharpGL(25)一个用raycast实现体渲染VolumeRender的例子
- LINQ用法学习
- c#遍历一个文件夹下的所有文件包括子文件夹
- C#中问号的使用
- C#基础之内存分配
- C# 插入排序算法
- C#用链式方法
- C#中Math类的计算整数的三种方法
- C#通用类型转换方法
- C#用DataTable实现Group by数据统计
- c# MD5的加密和解密
- (C#基础) byte[] 之初始化, 赋值,转换。
- c#获取当前应用程序所在路径
- C# 字符串加密解密方法
- c# EF基础记录
- .NET C# Tostring() format 格式化字符串大全
- C# 控制台输出