任务2.3 系统登录界面的制作

1.登录界面最终效果图

任务2.3 系统登录界面的制作_第1张图片
库管员登录失败

任务2.3 系统登录界面的制作_第2张图片
收银员登录失败

任务2.3 系统登录界面的制作_第3张图片
库管员登录成功

任务2.3 系统登录界面的制作_第4张图片
收银员登录成功

2.登录界面中涉及到的控件以及控件的重要属性,方法

控件 重要属性 方法
Lable Text 修改显示的文本
Button Text 修改显示的文本
TextBox MaxLength、MultiLine、PasswordChar、ReadOnly、ScrollBars 可输入最大字符数、是否可以多行显示、输入密码显示字符、是否为只读、是否显示滚动条
LinkLable Text 修改显示的文本
PictureBox Image、SizeMode 图片框中显示的图片、控制图片框显示图片的位置

3.登录界面版本更迭

  • 第一代:登陆界面用户类型通过控件ComboBox默认为收银员登录,库管员登录时需要进行修改。如不进行修改则无法登录,并提示出错。


    任务2.3 系统登录界面的制作_第5张图片
    第一代登录界面
  • 第二代:删除控件ComboBox,取消用户类型的选择,可以直接输入用户名和密码登录,系统自动识别为哪类用户登录。增加一个LinkLable,实现注册新用户功能。


    任务2.3 系统登录界面的制作_第6张图片
    第二代登录界面
  • 更迭效果:第二代相较第一代更加方便快捷,可以更方便用户的管理和使用。

4.重要代码片段

  • 创建目标窗体对象。
    被调用的窗体类名 窗体对象名=new 被调用的窗体类名();
    显示目标窗体(通过调用窗体相应的显示方法实现)。
    窗体对象名.Show();或者窗体对象名.ShowDialog();


    任务2.3 系统登录界面的制作_第7张图片
  • 隐藏或关闭源窗体。如果目标窗体显示后,可能需要同时隐藏或者关闭源窗体:
    隐藏当前窗体: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);
                }

你可能感兴趣的:(任务2.3 系统登录界面的制作)