C#窗口在创建后立即关闭
我希望新窗口显示,旧窗口关闭 发生的情况是,在调用this.Close()时,应用程序将自动关闭C#窗口在创建后立即关闭,c#,winforms,C#,Winforms,我希望新窗口显示,旧窗口关闭 发生的情况是,在调用this.Close()时,应用程序将自动关闭 我正在使用WinForms如果这是从中加载应用程序的第一个表单,并且如果关闭它,应用程序将关闭 而不是这个。Close() 一定要这样写。Hide() Form1 browser = new Form1(textBoxUserName.Text.Trim(), textBoxOldPassword.Text.Trim(), textBoxNewPassword.Text.Trim()); brows
我正在使用WinForms如果这是从中加载应用程序的第一个表单,并且如果关闭它,应用程序将关闭 而不是这个。Close()
一定要这样写。Hide()
Form1 browser = new Form1(textBoxUserName.Text.Trim(), textBoxOldPassword.Text.Trim(), textBoxNewPassword.Text.Trim());
browser.Shown += (o, t) => { this.Close(); };
browser.Show();
当父窗体关闭时结束。为了实现你想要做的事情,你可以写:
Application.Run(new ParentForm());
在这种情况下,必须显式调用Application.Exit()
以结束程序,例如
[STAThread]
static void Main()
{
Form form = new ParentForm();
form.Show();
Application.Run(); // starts the message pump
}
一个更干净的方法将使用。我认为当父窗口关闭时,子窗口将关闭。您可以尝试
Hide()
。如何防止启动窗体退出应用程序?如果“this”是您的主窗体,则此.Close()将关闭您的应用程序。这是故意的。这是什么。。。。??首先,这在windows应用程序中是一个非常基本的概念,而且您的评论可能被窃取。这是我整理的新答案。你和我的帖子之间只有3分钟的时间差,所以我可能没有机会读你的评论。
public class Form1 : Form
{
protected override void OnClosed(EventArgs e)
{
base.OnClosed();
Application.Exit();
}
}