应用程序 运行 在隐藏表单时在后台
application running in Background when form is hidden
我有两种形式 "login form" 和 "dashboard form"。当我通过登录表单成功连接到数据库时,它会隐藏并显示仪表板表单。但问题是,即使我关闭仪表板表单,我的应用程序仍在后台 运行ning。
我应该怎么做才能避免我的应用程序 运行 在后台运行?
这是我的代码
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 form = new Form2();
form.ShowDialog();
}
隐藏并不意味着终止程序。
您可以做的是在 dashboardForm
上覆盖 OnFormClosing
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
if (e.CloseReason != CloseReason.WindowsShutDown && !UserDidQuit)
{
Application.Exit();
}
}
按如下方式处理 Form2
的 FormClosed
事件:
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
this.Dispose();
}
您应该在关闭对话框后关闭表单。
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 form = new Form2();
form.ShowDialog();
this.Close();
}
我有两种形式 "login form" 和 "dashboard form"。当我通过登录表单成功连接到数据库时,它会隐藏并显示仪表板表单。但问题是,即使我关闭仪表板表单,我的应用程序仍在后台 运行ning。
我应该怎么做才能避免我的应用程序 运行 在后台运行?
这是我的代码
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 form = new Form2();
form.ShowDialog();
}
隐藏并不意味着终止程序。
您可以做的是在 dashboardForm
OnFormClosing
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
if (e.CloseReason != CloseReason.WindowsShutDown && !UserDidQuit)
{
Application.Exit();
}
}
按如下方式处理 Form2
的 FormClosed
事件:
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
this.Dispose();
}
您应该在关闭对话框后关闭表单。
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 form = new Form2();
form.ShowDialog();
this.Close();
}