【问题标题】:Hidden form not closing隐藏表格未关闭
【发布时间】:2016-01-21 18:16:20
【问题描述】:

我有一个 C# Form,其中您在开头显示了 Form1,当您按下 Go 时,您将转到 Form2Form1 被隐藏,Form2 被显示。

现在,当您退出form2 时,应该关闭整个应用程序。当我按下退出按钮时,我正在使用Application.Exit()。 如果用户按下 XALT+F4RightClick->Close,我会遇到问题。 表单将关闭,但隐藏的表单将保持打开状态。

我该如何解决这个问题?当我按下这些控制按钮之一时,所有隐藏的表单也会关闭吗?

我尝试了form1_CloseForm1_Closing 功能,但它们似乎不起作用。

【问题讨论】:

  • 您只是隐藏 Form1 而没有关闭它有什么特别的原因吗?
  • 是否有返回Form1 或关闭Form2 并退出程序的唯一选项?
  • 只需关闭 Form1 实例而不是隐藏它。使用this code 阻止它终止您的应用程序。现在它很简单且不会发生故障。
  • 我需要将其隐藏并保留在背景中以备后用

标签: c# forms winforms


【解决方案1】:

试试这个:

Hide();
Form2 form2 = new Form2();
form2.Closed += (s, args) => this.Close();
form2.Show();

当您关闭 Form2 时,这将关闭 Form1。如果用户在Form2上按XALT+F4RightClick -> CloseForm2和隐藏的Form1将关闭.

【讨论】:

  • 完美,我需要的!
【解决方案2】:

使用 Form2 上的FormClosed event 退出应用程序。

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
     Application.Exit();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    相关资源
    最近更新 更多