登录窗体为主线程窗体时实现重登录的一个困难

2021-03-17 06:25

阅读:527

标签:ogre   登录   his   orm   cli   oid   一个   hid   bsp   

一、在主界面窗体中调用已经隐藏的主线程登录窗体,输入用户名与密码时如果正确,虽然代码中写的是再次隐藏

登录窗体,但主线程仍会关闭,debug时可跟踪到调用了dipose方法关闭登录窗体;

二、如点取消按钮,登录窗体也会关闭,debug时可跟踪到调用了dipose方法关闭登录窗体。

技术图片

 

 if (new UserService().loginCheckWithSqlparameters(txt_userID.Text, pwd))
                    {
                        CurrentUser.userID = txt_userID.Text;
                        //AuthorizationEventArgs a = new AuthorizationEventArgs();
                        //a.userAndPwdRight = true;
                        //onAuthorizPass(a);
                        DialogResult = DialogResult.OK;

                        //if (loginSuccessFlag==true)
                        //{

                        //}
                        //Frm_main f = new Frm_main();

                        //f.Show();
                        //loginSuccessFlag = true;

                        //登录成功后隐藏登录窗体
                        //this.Hide();
                        ////主窗体关闭后登录窗体也关闭
                        //f.FormClosed += closeLoginForm;
                        ////主窗体点击重登录时,调出登录窗体
                        //f.重登录ToolStripMenuItem.Click += 重登录ToolStripMenuItem_Click;
                    }

 

 三、如何实现二次登录

如果不把登录窗体做为主线程窗体,那么要实现重登录,只能开启一个新进程,然后关闭本次进程,具体如何实现,待定。

   [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Frm_login frm_Login = new Frm_login();

            frm_Login.ShowDialog();
            if (frm_Login.DialogResult == DialogResult.OK)
            {
                Application.Run(new Frm_main());
            }
            else
            {
                Application.Exit();
            }


        }

    

 

登录窗体为主线程窗体时实现重登录的一个困难

标签:ogre   登录   his   orm   cli   oid   一个   hid   bsp   

原文地址:https://www.cnblogs.com/windy3417/p/13978597.html


评论


亲,登录后才可以留言!