zoukankan      html  css  js  c++  java
  • winform登录窗体的实现

    1,新建一个实体类,用来储存 用户信息的类

    namespace MS_Entity
    {
        /// <summary>
        /// 登录用户类
        /// </summary>
        public class SysAdmins
        {
           //登录ID
            public int LoginId { get; set; }
           //登录名称
            public string LoginName { get; set; }
           //登录密码
            public string LoginPwd { get; set; }
           /// <summary>
           /// 角色
           /// </summary>
            public int Role { get; set; }
        }
    }
    

    2,程序主窗体入口

     static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                FrmLogin objFrm = new FrmLogin();
                DialogResult result= objFrm.ShowDialog();//模式对话框,对话框模式的是有返回值的
                if (result == DialogResult.OK)//说明登录成功了
                {
                    //登录成功,显示主窗体
                    FrmMain obj = new FrmMain();
                    Application.Run(obj);
    
                }
                else
                {
                    Application.Exit();
                }
            }
        }
    

    3,登录窗体

            private void btn_Login_Click(object sender, EventArgs e)
            {
                //判断是否选中匿名登录(不用输入用户名和密码直接登录的)
                if (this.chk_UsePwd.Checked)
                {
                    this.DialogResult = DialogResult.OK;
                    //CommonMethods.objAdmins.LoginName = "None";
                    CommonMethods.objAdmins=new SysAdmins()
                    {
                        LoginName = "None"
                    };
                }
                else
                {
                    //登录判断
                    if (this.txt_UserId.Text.Trim().Length == 0)
                    {
                        MessageBox.Show("请填写用户名!", "登录提示");
                        this.txt_UserId.Focus();
                        return;
                    }
                    if (!DataValidate.IsInteger(this.txt_UserId.Text.Trim()))//判断用户ID是不是正整数
                    {
                        MessageBox.Show("用户名必须为正整数!", "登录提示");
                        this.txt_UserId.Focus();
                        return;
                    }
                    if (this.txt_Pwd.Text.Trim().Length == 0)
                    {
                        MessageBox.Show("请输入密码!", "登录提示");
                        this.txt_Pwd.Focus();
                        return;
                    }
                    //封装对象
                    SysAdmins objAdmins = new SysAdmins()//初始化对象,设置 id 和 密码 的属性
                    {
                        LoginId = Convert.ToInt32(this.txt_UserId.Text.Trim()),
                        LoginPwd = this.txt_Pwd.Text.Trim()
                    };
                    if (AdminLogin(objAdmins) == null)//没查到
                    {
                        MessageBox.Show("用户名或密码错误!", "登录提示");
                    }
                    else//查到了
                    {
                        this.DialogResult = DialogResult.OK;
                        CommonMethods.objAdmins = objAdmins;
                    }
                }
            }
    
    
            /// <summary>
            /// 登录判断方法,根据用户输入的ID和密码来查询数据库
            /// </summary>
            /// <param name="objAdmin">传入一个用户对象类</param>
            /// <returns>返回的也是一个用户对象类</returns>
            private SysAdmins AdminLogin(SysAdmins objAdmin)
            {
                string sql = "Select LoginName,Role from sysAdmins where LongId={0} and LoginPwd='{1}'";
                sql = string.Format(sql, objAdmin.LoginId, objAdmin.LoginPwd);
                DataSet ds = SQLHelper.GetDataSet(sql);//数据库查询
                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                {
                    objAdmin.LoginName = ds.Tables[0].Rows[0]["LoginName"].ToString();
                    objAdmin.Role = Convert.ToInt32(ds.Tables[0].Rows[0]["Role"]);
                    return objAdmin;//比传入进来的多了两个属性:用户名和属性
                }
                else
                {
                    return null;
                }
            }
    

      

      

      

  • 相关阅读:
    redis 1 简单介绍和存储的数据结构
    mysql 14 覆盖索引+回表
    mysql 13 B+tree中存储数据的格式 页
    java Arrays.asList() 数组转集合
    java 迭代器
    mysql 12 SQL优化策略
    mysql 11 执行计划
    mysql 10 索引面试题分享
    搭建一个开源项目2-打造另一个环境以及解决上期问题
    搭建一个开源项目1-如何搭建Linux虚拟机
  • 原文地址:https://www.cnblogs.com/baozi789654/p/12572809.html
Copyright © 2011-2022 走看看