C#学习笔记-winform登录简单框架

用户登录框架

主体:Login窗体、主窗体、其他窗体

思路:1、创建login窗体和DialogResult成员变量,DialogResult成员变量用于接收Login窗体的DialogReslut返回结果

           2、登录(数据校验、封装用户对象、数据库交互、结果返回)

           3、创建一个全部变量用于存储用于存储用户信息(最好是对象类型(用户的信息实体类))

           4、获取结果为DialogResult.OK,显示登录信息

实现

  static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //创建登录窗体
            FrmUserLogin objLogin = new FrmUserLogin();
            DialogResult result = objLogin.ShowDialog();

            //登录成功显示主窗体
            if (result == DialogResult.OK)           
                Application.Run(new FrmMain());          
            else           
                Application.Exit();
            

        }
        //全局变量用于存储用户登录信息
        public static Admin currentAdmin = null;
    }

登录窗体objLogin以ShowDialog()的形式显示,当获取的用户登录信息实例不为null时,表示登录成功,显示主窗体。获取用户登录时,要做数据验证(非空、数字、字母等)

    private void btnLogin_Click(object sender, EventArgs e)
        {
            #region 数据验证
            //数据验证、非空验证、非法字符验证、数据类型验证
            if (txtLoginId.Text.Trim().Length == 0)
            {
                MessageBox.Show("请输入用户ID", "提示");
                this.txtLoginId.Focus();
                return;
            }
            if(!DataValiddateManeger.IsInteger(txtLoginId.Text.Trim()))
            {
                MessageBox.Show("请输入整数类型的用户ID", "提示");
                this.txtLoginId.Focus();
                this.txtLoginId.SelectAll();
                return;
            }
            if (txtLoginPwd.Text.Trim().Length == 0)
            {
                MessageBox.Show("请输入用户密码", "提示");
                this.txtLoginPwd.Focus();
                this.txtLoginPwd.SelectAll();
                return;
            }
            #endregion
            //封装数据对象
            Admin objAdmin = new Admin()
            {
                LoginId = Convert.ToInt32(txtLoginId.Text.Trim()),
                LoginPwd = txtLoginPwd.Text.Trim()
            };
            try
            {
                Program.currentAdmin = new AdminManeger().AdminLogin(objAdmin);//查询用户,后台交互
                if (Program.currentAdmin!= null)
                {
                    this.DialogResult = DialogResult.OK;//用户登录成功给当前窗体的DialogResult赋值
                    this.Close();//如果登录成功则关闭当前页面
                }
                else
                {
                    MessageBox.Show("用户账户或密码错误", "提示");
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message + "操作异常");
                //this.DialogResult = DialogResult.No;
                //this.Close();
            }
          
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值