**
登录界面简易教程
**
前段时间老师要求做一个登录界面来熟悉C#的操作,于是在看了很多文章后终于编出一个小程序。为了让以后入门的新手不用再找一大堆的文章来慢慢摸索,现在决定分享一下我的编写过程,希望对新手有帮助。有不妥之处欢迎指正。
1.1 首先在VS新建一个windows窗体项目,命名为LoginScreen,然后从工具箱拖拽label、textbox、button等控件来设计登录界面的外观,如下图所示。
1.2 单击“登录”按钮,在属性栏上单击闪电图标,双击“click”选项,进入代码编辑。如下图所示。
下面是单击“登录”按钮后程序的运行代码,重要步骤都有注释,应该能看懂。
tips:此步骤之前需要右击右侧“解决方案资源管理器”里的LoginScreen,依次选择:添加》windows窗体,然后进行界面设计,步骤如下图1所示;结果如下图2所示。
private void button1_Click(object sender, EventArgs e) //单击登录按钮
{
string userName = textBox1.Text;
string passWord = textBox2.Text;
//打开数据库
string conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\denglubiao.mdb"; //在ACCESS里建立一个叫denglubiao的表格,把表格放到登录界面的debug文件夹下
OleDbConnection dbCon = new OleDbConnection(conStr);
dbCon.Open();
//查询数据库
string cmdStr = "select * from biao1 where 用户名='" + this.textBox1.Text + "'and 密码='" + this.textBox2.Text + "'";
OleDbCommand cmd = new OleDbCommand(cmdStr, dbCon);
OleDbDataReader reader = cmd.ExecuteReader();
if (textBox1.Text == "" || textBox2.Text == "")
{
MessageBox.Show("用户名或密码不能为空!");
}
else
{
if(reader.Read())
{
MessageBox.Show("登录成功!");
Form2 newForm2 = new Form2();
newForm2.Show(); //弹出主程序界面
Hide(); //隐藏登录界面
}
else
{
MessageBox.Show("用户名或密码错误!");
}
reader.Close();
}
}
1.3 单击“注册”按钮,在属性栏上单击闪电图标,双击“click”选项,进入代码编辑。下面是单击“注册”按钮后程序的运行代码,重要步骤都有注释,应该能看懂。
tips:此步骤之前需要右击右侧“解决方案资源管理器”里的LoginScreen,依次选择:添加》windows窗体,然后进行界面设计,步骤如下图1所示;结果如下图2所示。
private void button2_Click(object sender, EventArgs e) //单击注册按钮
{
Form3 newForm3 = new Form3();
this.Hide(); //隐藏登录界面
newForm3.Show(); //弹出注册界面
}
1.4 单击“退出”按钮,在属性栏上单击闪电图标,双击“click”选项,进入代码编辑。下面是单击“退出”按钮后程序的运行代码,重要步骤都有注释,应该能看懂。
private void button3_Click(object sender, EventArgs e) //单击退出按钮
{
Application.ExitThread(); //关闭登录界面
}
2.1 在1.3节结束后,进入注册界面,单击注册界面上的“注册”按钮,在属性栏上单击闪电图标,双击“click”选项,进入代码编辑。下面是单击“注册”按钮后程序的运行代码,重要步骤都有注释,应该能看懂。
private void button1_Click(object sender, EventArgs e) //单击注册按钮
{
string userName = textBox1.Text;
string passWord = textBox1.Text;
string rePassWord = textBox1.Text;
if (textBox1.Text == "")
{
MessageBox.Show("用户名不能为空!");
}
else if (textBox2.Text == "")
{
MessageBox.Show("密码不能为空!");
}
else if (textBox3.Text == "")
{
MessageBox.Show("确认密码不能为空!");
}
else if (textBox2.Text != textBox3.Text)
{
MessageBox.Show("密码与确认密码不同,请重新输入!");
}
else
{
//打开数据库
string conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\denglubiao.mdb"; //conStr=connectString
OleDbConnection dbCon = new OleDbConnection(conStr); //DbCon=DbConnection
dbCon.Open();
//查询数据库
string cmdStr = "select * from biao1 where 用户名='" + this.textBox1.Text + "'and 密码='" + this.textBox2.Text + "'";
OleDbCommand cmd = new OleDbCommand(cmdStr, dbCon);
OleDbDataReader reader = cmd.ExecuteReader();
if(reader.Read()) //如果在数据库中查询到用户在textBox1中输入的用户名信息
{
MessageBox.Show("用户名已存在,请重新输入!");
}
else
{
//在数据库中添加记录
string Insert = "INSERT INTO biao1(用户名,密码) values('" + textBox1.Text + "','" + textBox2.Text + "')";
OleDbCommand myCommand = new OleDbCommand(Insert, dbCon);
myCommand.ExecuteNonQuery();//更新数据库,返回受影响行数;可通过判断其是否>0来判断操作是否成功
MessageBox.Show("注册成功!");
Form1 newForm1 = new Form1();
this.Hide(); //隐藏注册窗口
newForm1.ShowDialog(); //弹出登录界面
Application.ExitThread(); //关闭注册窗口
}
}
}
2.2 单击注册界面上的“退出”按钮,在属性栏上单击闪电图标,双击“click”选项,进入代码编辑。下面是单击“退出”按钮后程序的运行代码,重要步骤都有注释,应该能看懂。
private void button2_Click(object sender, EventArgs e) //单击退出按钮
{
Application.ExitThread(); //关闭注册窗口
}
3 至此,一个利用C#和ACCESS编写的登录界面就可以正常运行了,主要实现了登录与注册功能。
tips:以上代码编写时需要使用以下三个命名空间,特别是System.Data.OleDb需要手动添加。
using System;
using System.Data.OleDb;
using System.Windows.Forms;