我正在使用Visual studio 2015中的Windows窗体应用程序。现在我的需求是在按钮单击时关闭多个窗体。
注意:我参考了以下链接
closing-multiple-forms-in-c-sharp
How-to-Connect-forms-in-Csharp-windows-application
How to swap between forms in windows forms application
查看下面的图片,这是我所做的。
注意:我参考了以下链接
closing-multiple-forms-in-c-sharp
How-to-Connect-forms-in-Csharp-windows-application
How to swap between forms in windows forms application
查看下面的图片,这是我所做的。
Application.OpenForms
查找它:var first = Application.OpenForms.OfType<FirstForm>().FirstOrDefault();
if (first != null)
first.Hide();
另外,您可以在Program
类中保留对第一个表单的引用,并使用该引用来Hide
或Show
它。
请注意,Application.OpenForms
会返回可见的窗体,若您隐藏了一个窗体,则该窗体将不再存在于集合中。
很简单..当你调用form2时,你需要传递form1的引用并隐藏主窗体,在点击button1时关闭form2并打开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
}
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