c# 做的登录窗体,登录成功后当前登录Form关闭,打开Main窗体,但Main窗体点关闭按钮后程序仍在进程怎么办

登录窗体Login后执行下面代码打开main窗体:
main frm2 = new main();
frm2.Show();
this.Visible = false;
以上代码。
求大大帮助,在main窗体里只有做个点击按钮执行
Application.Exit();
才能关闭。要不然点windows 的大叉关闭不了,一直在进程里。

教你一招 很实用的
这是 需要在 Program中修改的
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//
frmLogin login = new frmLogin();
if (login.ShowDialog() == DialogResult.OK)
{
Application.Run(new frmMain());
}
}

然后在登录窗体 如果登录成功 添加这段代码
this.DialogResult = DialogResult.OK;
this.Close();
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-06
经过实践的检验,出现这种情况是比较常见的
如果运行的初始窗体是Login(也就是Program.cs中的Application.Run(new ***)),调用Close方法就会结束程序
不是初始窗体可以调用Close方法

万能的解决方法是用Application.Exit(),或者结束线程
如果调试的时候要多次生成,不妨按Ctrl+Alt+Del结束进程,可以生成成功
第2个回答  2012-03-22
更简单的办法是在Main窗体的closing事件中写上Application.Exit();
第3个回答  2011-07-06
不如把 this.Visible = false;
改成 this.close();
你的窗口隐藏了,你关掉显示的窗口没用。追问

不行啊,改成this.close();试过了,点登录后直接就关闭了,没有打开后面的main Form。

第4个回答  2011-07-06
调用frm2窗体的closeing事件执行Application.Exit();方法就可以了
相似回答