C# 登录后主界面闪退解决方法

将登录窗体作为程序入口,登录成功后进入主界面,登录窗体点击确定事件里部分代码如下

this.Close();
MainForm form = new Mainform();
form.Show();

出现主界面闪退的情况。

解决方法:

第一步:将主界面作为程序入口,在主界面初始化函数中:

LoginDlg dlg = new LoginDlg();
dlg.ShowDialog();
InitializeComponent();

ShowDialog()为关键,将登录界面显示为模态对话框,便可实现程序打开先弹出登录界面的效果;

第二步:在登录窗体中,点击确定事件里添加this.Close()

第三步:登录界面关闭事件重载,否则点关闭按钮还是会进入主界面。

第四步:定义全局变量LoginSucceed判断关闭来源,若点击确定登录成功之后关闭登录窗口,则不退出程序

protected override void OnClosing(CancelEventArgs e)
{
      if (LoginSucceed == false)
            System.Environment.Exit(0);
}
posted @ 2020-12-08 16:55  YiXiaoKezz  阅读(1017)  评论(0编辑  收藏  举报