我正在使用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
检查下面的图像我的工作情况。
答案 0 :(得分:2)
您创建了第一个表单的另一个实例并将其隐藏,因此您当前打开的第一个表单将不会隐藏。
您应该隐藏打开的实例。为此,您可以使用Application.OpenForms
:
var first = Application.OpenForms.OfType<FirstForm>().FirstOrDefault();
if (first != null)
first.Hide();
此外,您可以在Program
课程中保留对第一个表单的引用,并再次使用该引用Hide
或Show
。
请注意,Application.OpenForms
会返回可见的表单,如果您隐藏表单,则该表单将不再出现在该集合中。
答案 1 :(得分:1)
简单..当你调用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
}
在你的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
答案 2 :(得分:0)