文本框 (TextBox) 是在窗体中输入信息时最常用的控件,通过设置文本框属性可以实现多行文本框、密码框等。
在窗体上输入信息时使用最多的就是文本框。
除了前面 C# Label、LinkLabel 中介绍的控件属性以外,文本框还有一些不同的属性, 如下表所示:
属性名 | 作用 |
---|---|
Text | 文本框对象中显示的文本 |
MaxLength | 在文本框中最多输入的文本的字符个数 |
WordWrap | 文本框中的文本是否自动换行,如果是 True,则自动换行,如果是 False,则不能自动换行 |
PasswordChar | 将文本框中出现的字符使用指定的字符替换,通常会使用“*”字符 |
Multiline | 指定文本框是否为多行文本框,如果为 True,则为多行文本框,如果 为 False,则为单行文本框 |
ReadOnly | 指定文本框中的文本是否可以更改,如果为 True,则不能更改,即只读文本框,如果为 False,则允许更改文本框中的文本 |
Lines | 指定文本框中文本的行数 |
ScrollBars | 指定文本框中是否有滚动条,如果为 True,则有滚动条,如果为 False, 则没有滚动条 |
文本框控件最常使用的事件是文本改变事件 (TextChange),即在文本框控件中的内容改变时触发该事件。
下面通过实例来演示文本框的应用。
根据题目要求,首先创建一个名为 TextBoxTest 的窗体,然后在窗体上添加文本框和标签,并在文本框的文本改变事件中编写代码。
具体的代码如下:
public partial class TextBoxTest : Form
{
public TextBoxTest()
{
InitializeComponent();
}
//文本框文本改变事件
private void textBox1_TextChanged(object sender, EventArgs e)
{
//将文本框中的文本值显示在标签中
label2.Text = textBox1.Text;
}
}
效果如下图所示:
从上面的运行结果可以看出,使用控件的属性和事件通过一行代码即可完成所需的功能。
本例中的登录窗体仅包括用户名和密码,将登录窗体命名为 LoginForm。
单击“登录”超链接标签,对文本框中输入的用户名和密码进行判断,如果用户名和密码的输入值分别为 xiaoming 和 123456,则弹出消息框提示“登录成功!”,否则提示“登录失败!”。
具体代码如下:
public partial class LoginForm : Form
{
public LoginForm()
{
InitializeComponent();
}
//判断是否登录成功
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
//获取用户名
string username = textBox1.Text;
//获取密码
string password = textBox2.Text;
//判断用户名密码是否正确
if ("xiaoming".Equals(username) && "123456".Equals(password))
{
MessageBox.Show("登录成功!");
}
else
{
MessageBox.Show("登录失败!");
}
}
}
运行窗体后输入用户名和密码,单击登录超链接标签,效果如下图:
按钮主要用于提交页面的内容,或者是确认某种操作等。
按钮包括普通的按钮 (Button)、单选按钮 (RadioButton),本节主要讲解按钮的应用,单选按钮将在下一篇博客中为大家讲解。
按钮常用的属性包括在按钮中显示的文字 (Text) 以及按钮外观设置的属性,最常用的事件是单击事件。
本例的用户注册界面中仅包括用户名和密码,通过单击“注册”按钮跳转到新窗体中并显示注册的用户名和密码,实现该功能分别使用 RegForm 窗体和 MainForm 窗体。
RegForm 窗体的界面如下图所示;
在注册时判断用户名和密码不能为空,并且要求两次输入的密码一致,实现的代码如下:
public partial class RegForm : Form
{
public RegForm()
{
InitializeComponent();
}
//“确定”按钮的单击事件,用于判断注册信息并跳转到新窗口显示注册信息
private void button1_Click(object sender, EventArgs e)
{
string name = textBox1.Text;
string pwd = textBox2.Text;
string repwd = textBox3.Text;
if (string.IsNullOrEmpty(name))
{
MessageBox.Show("用户名不能为空!");
return;
}
else if (string.IsNullOrEmpty(textBox2.Text))
{
MessageBox.Show("密码不能为空!");
return;
}
else if (!textBox2.Text.Equals(textBox3.Text))
{
MessageBox.Show("两次输入的密码不一致!");
return;
}
//将用户名和密码传递到主窗体中
MainForm mainForm = new MainForm(name, pwd);
mainForm.Show();
}
//“取消”按钮的事件,用于关闭窗体
private void button2_Click(object sender, EventArgs e)
{
//关闭窗体
this.Close();
}
}
从上面的实例可以看出,如果需要在两个窗体中传递参数,则可以使用按钮和文本框。
各位互联网上的同事、同仁、同学们,C# 编写 WinForm 窗体应用程序(第三期)到这里就结束了。码字不易,读完了这篇博客在评论区里留下你的真心话,甩给作者一个赞再走呗!