繁体   English   中英

如何在Windows窗体应用程序中关闭多个窗体

[英]How to close Multiple forms in Windows form Application

我正在使用Visual Studio 2015中的Windows窗体应用程序。现在我的要求是在按钮单击时关闭多个窗体窗体。

注意:我在下面提到了链接

闭-多表单中-C-尖锐

如何对连接表单功能于Csharp的-Windows的应用程序

如何在Windows窗体应用程序中的窗体之间交换

检查下面的图像我的工作。

图片 - 1 在此输入图像描述

图像 - 2 在此输入图像描述

图像 - 3 在此输入图像描述

图像 - 4 在此输入图像描述

您创建了第一个表单的另一个实例并将其隐藏,因此您当前打开的第一个表单将不会隐藏。

您应该隐藏打开的实例。 为此,您可以使用Application.OpenForms找到它:

var first = Application.OpenForms.OfType<FirstForm>().FirstOrDefault();
if (first != null)
    first.Hide();

您还可以在Program类中保留对第一个表单的引用,并使用该引用Hide它或再次Show它。

请注意, Application.OpenForms返回可见的表单,如果您隐藏表单,则表单将不再出现在集合中。

它简单..当你调用form2然后你必须传递form1的引用并隐藏主窗体并关闭form2时单击按钮1并打开frmshow ..

当你点击BtnAnalysis时......

 private void BtnAnalysis_Click(object sender, EventArgs e)
 {
     Form2 frm2 = new Form2();
     frm2.Show(this);        // here the reference of form1 pass to the form2
 }

在你的Form2中你必须像这样做代码......

    private Form1 frm;
    public Form2()
    {
        InitializeComponent();
    }

    public void Show(Form1 frm1)
    {
        frm = frm1;      // here assign the reference of form1 to form for hiding purpose
        this.Show();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        frmshow frmshw = new frmshow();
        frm.Hide();        // hide mainform i.e. form1
        this.Close();      // close the form2
        frmshw.Show();     // show the frmshow form
    }

工作肯定...你必须尝试这个...如果你想要来源然后通过我的电子邮件与我联系。 ketanvavadia@gmail.com

在表单-1中写下面的代码

在此输入图像描述

在表格-2中写下面的代码 在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM