【问题标题】:Close form1 when closing form2 (from the red cross button)关闭 form2 时关闭 form1(从红色十字按钮)
【发布时间】:2016-08-27 10:23:26
【问题描述】:

我有两个表单.. form1 是一个登录表单。所以如果用户名和密码输入正确..用户将被引导到form2并隐藏form1.. form2 包含一个“注销”按钮,用于关闭 form2 并返回到 form1 ..

这是按钮注销的代码

  private void logout_Click(object sender, EventArgs e)
    {
        this.Close();
        foreach (Form OpenedForm in Application.OpenForms)
        {
            if (OpenedForm is Form1)
            {
                OpenedForm.Show();
                break;
            }
        }
    }

一切都很好..但是当用户单击红十字直接退出应用程序而不注销时会出现唯一的问题..在这种情况下form1(登录)仍然隐藏.. 从红十字关闭form2时,是否有关闭form1的解决方案?感谢并为我糟糕的英语感到抱歉

【问题讨论】:

  • 处理 form2 的关闭事件,将 logout_Click 的主体重构为一个通用函数,并让两个事件都调用它 - 添加 logout 与 exit 的参数
  • 应用程序退出时会自动关闭隐藏的表单。所以如果关闭主窗体导致应用程序退出,那么隐藏的登录窗体也将被隐藏。非常简单,无需处理额外的事件。

标签: c# winforms


【解决方案1】:

您可以尝试使用FormClosing Event

private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
    // close the first form...
}

This thread可以帮助你检测红十字被点击的时间...

【讨论】:

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