前言:本篇文章没有使用连接数据库验证登录名和密码,只是最基本的字符串对比,下篇文章会在本文基础上增加数据库连接和验证。
正文:
1. 登录窗口界面的布局设计
(1)新建一个form窗体,并且修改属性值。如图
属性Text:Form1 改为 登录界面 ;
属性Name:Form1 改为 Login ;
(2)在工具箱搜索寻找需要的控件,登录界面一般需要Label,Button,TextBox。
同样,在属性窗格修改属性值,方便代码书写的命名。这里命名为:
(3)调整各个控件的大小,字体,布局:
(4)双击登录按钮,进行代码编辑
private void btnLogin_Click(object sender, EventArgs e) { //1. 获取数据 //从TextBox中获取用户输入信息 string userName = this.txtUserName.Text; string userPassword = this.txtPassword.Text; //2. 验证数据 // 验证用户输入是否为空,若为空,提示用户信息 if( userName.Equals("") || userPassword.Equals("")) { MessageBox.Show("用户名或密码不能为空!"); } // 若不为空,验证用户名和密码是否与数据库匹配 // 这里只做字符串对比验证 else { //用户名和密码验证正确,提示成功,并执行跳转界面。 if( userName.Equals("admin") && userPassword.Equals("admin")) { MessageBox.Show("登录成功!"); /** * 待添加代码区域 * 实现界面跳转功能 * */ } //用户名和密码验证错误,提示错误。 else { MessageBox.Show("用户名或密码错误!"); } } //3. 处理数据 }
2. 跳转主界面实现
(1)右键资源管理器中项目名 "blog1",依次单击 "添加"、"Windows窗体"。
(2)单击添加按钮。对新的窗口像前面一样操作,对相应属性进行修改。并且添加一个label,用于界面的辨识。
(3)在programma.cs中的Main函数中,添加代码:
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Login()); Login login = new Login(); //界面转换 login.ShowDialog(); if (login.DialogResult == DialogResult.OK) { login.Dispose(); Application.Run(new MainForm()); } else if (login.DialogResult == DialogResult.Cancel) { login.Dispose(); return; } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Login()); Login login = new Login(); //界面转换 login.ShowDialog(); if (login.DialogResult == DialogResult.OK) { login.Dispose(); Application.Run(new MainForm()); } else if (login.DialogResult == DialogResult.Cancel) { login.Dispose(); return; } }
(4)并在Form1.cs中,验证用户名和密码后面(有注释:待添加代码区),添加代码:
//跳转主界面 this.DialogResult = DialogResult.OK; this.Dispose(); this.Close();
3.启动运行,一起检查代码实现情况。
(1)不输入用户名和密码,单击登录;
(2)正确输入用户名,错误输入密码,单击登录;
(3)正确输入用户名和密码,单击登录;
(4)单击提示框确定按钮,查看跳转情况。
后续:我是一个C#的初学者,目前只是学了最基本的语法。想在实践中边练习边学习,于是找了点小项目
作为学习C#的练手利器,文中有错误或者不是很好的地方,望各位大神批评指正。
下一个:vue-cli3.0 吃过的坑