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);
}