1.登录界面最终效果图
库管员登录失败收银员登录失败
库管员登录成功
收银员登录成功
2.登录界面中涉及到的控件以及控件的重要属性,方法
控件 | 重要属性 | 方法 |
---|---|---|
Lable | Text | 修改显示的文本 |
Button | Text | 修改显示的文本 |
TextBox | MaxLength、MultiLine、PasswordChar、ReadOnly、ScrollBars | 可输入最大字符数、是否可以多行显示、输入密码显示字符、是否为只读、是否显示滚动条 |
LinkLable | Text | 修改显示的文本 |
PictureBox | Image、SizeMode | 图片框中显示的图片、控制图片框显示图片的位置 |
3.登录界面版本更迭
-
第一代:登陆界面用户类型通过控件ComboBox默认为收银员登录,库管员登录时需要进行修改。如不进行修改则无法登录,并提示出错。
第一代登录界面 -
第二代:删除控件ComboBox,取消用户类型的选择,可以直接输入用户名和密码登录,系统自动识别为哪类用户登录。增加一个LinkLable,实现注册新用户功能。
第二代登录界面 -
更迭效果:第二代相较第一代更加方便快捷,可以更方便用户的管理和使用。
4.重要代码片段
-
创建目标窗体对象。
被调用的窗体类名 窗体对象名=new 被调用的窗体类名();
显示目标窗体(通过调用窗体相应的显示方法实现)。
窗体对象名.Show();或者窗体对象名.ShowDialog();
- 隐藏或关闭源窗体。如果目标窗体显示后,可能需要同时隐藏或者关闭源窗体:
隐藏当前窗体:this.Hide();
关闭当前窗体:this.Close();
{
// 显示收银员主界面
MainFormUser formUser = new MainFormUser();
formUser.Show();
// 隐藏登录界面
this.Hide();
}
{
MessageBox.Show("商品信息修改成功");
this.Close();
}
- 消息框
//显示消息对话框
MessageBox.Show
(
string text, //要显示的文本
string caption, //要显示的标题栏文本,可选
MessageBoxButtons buttons, //要显示哪些按钮,可选
MessageBoxIcon icon //要显示哪个图标,可选
)
- 连接数据库
String connStr = ConfigurationManager.ConnectionStrings["SuperMarketSales"].ConnectionString;
SqlConnection sqlConn = new SqlConnection(connStr);
try
{
// 连接数据库
sqlConn.Open();
}
- 构造命令发送给数据库和读取数据库
String sqlStr = "select * from EMPLOYEE where ID=@id and PASSWORD=@pwd";
SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
cmd.Parameters.Add(new SqlParameter("@id", this.tb_User.Text.Trim()));
cmd.Parameters.Add(new SqlParameter("@pwd", this.tb_Password.Text.Trim()));
SqlDataReader dr = cmd.ExecuteReader();
- 从数据库查询到记录后,登录代码
// 如果从数据库中查询到记录,则表示可以登录
if (dr.HasRows)
{
dr.Read();
UserInfo.userId = int.Parse(dr["ID"].ToString());
UserInfo.userName = dr["NAME"].ToString();
UserInfo.userPwd = dr["PASSWORD"].ToString();
UserInfo.userType = dr["TYPE"].ToString();
UserInfo.userPhone = dr["PHONE"].ToString();
MessageBox.Show(UserInfo.userType + "登录成功");
if (UserInfo.userType == "收银员")
{
// 显示收银员主界面
MainFormUser formUser = new MainFormUser();
formUser.Show();
// 隐藏登录界面
this.Hide();
}
if (UserInfo.userType == "库管员")
{
// 显示库管员主界面
MainFormAdmin formAdmin = new MainFormAdmin();
formAdmin.Show();
// 隐藏登录界面
this.Hide();
}
}
else
{
MessageBox.Show("用户名或密码错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
网友评论