[C#.NET]最简单的实现文本框的水印效果

时间:2023-03-09 22:38:51
[C#.NET]最简单的实现文本框的水印效果

C#项目开发中在设计登录界面时,经常会遇到TextBox的水印提示要求。这里简单描述一下项目在实现水印提示的过程设置。如下图图1所示。

[C#.NET]最简单的实现文本框的水印效果

[C#.NET]最简单的实现文本框的水印效果

图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所示。

[C#.NET]最简单的实现文本框的水印效果

图2 关联textChanged方法

[C#.NET]最简单的实现文本框的水印效果

图3 关联label_Click方法

[C#.NET]最简单的实现文本框的水印效果

[C#.NET]最简单的实现文本框的水印效果

四、实现的效果

[C#.NET]最简单的实现文本框的水印效果

图4 登录输入时的效果

[C#.NET]最简单的实现文本框的水印效果

相关文章