在WinForms应用程序中隐藏和显示Form

时间:2012-08-31 10:28:57

标签: c# winforms

  

可能重复:
  Winform Forms Closing and opening a new form

在我的Windows应用程序中,我有两种形式; form1和form2

在form1中,我使用以下处理程序单击按钮,

private void btn1_Click(object sender, EventArgs e)
{
    Form2 updatewindow = new Form2();
    updatewindow.Show();
}

在Form2中,我想单击一个按钮并显示第一个表单form1,因此form2中的按钮单击处理程序执行以下操作

private void btn2_Click(object sender, EventArgs e)
{
    try
        {

            string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "codedata.xml");
            XmlDocument doc = new XmlDocument();
            doc.Load(path);
            XmlNodeList nodelist = doc.SelectNodes("Root/data[Sno='" + getsnofromform1 + "']");
            nodelist[0].ChildNodes[2].InnerText = txt_productcodeupdate.Text;
            nodelist[0].ChildNodes[3].InnerText = txt_productnameupdate.Text;
            nodelist[0].ChildNodes[4].InnerText = txt_brandcodeupdate.Text;
            nodelist[0].ChildNodes[5].InnerText = txt_brandnameupdate.Text;
            doc.Save(path);
            MessageBox.Show("Selected Record Updated Successfully");

        }
        catch
        {
        }
        finally
        {
            //txt_sno.Text = "";
            // txt_companycode.Text = "";
            txt_productcodeupdate.Text = "";
            txt_productnameupdate.Text = "";
            txt_brandcodeupdate.Text = "";
            txt_brandnameupdate.Text = "";

            BarcodeCount form1 = new BarcodeCount();
            form1.BringToFront();
            form1.Invalidate();
            Application.OpenForms["BarcodeCount"].Refresh();
            this.Close();
        }
}

问题是我想显示旧表单,而是打开一个新的Form1窗口。

我想刷新form1表单form2

2 个答案:

答案 0 :(得分:2)

FormName x = default(FormName);
x = new FormName();
x.Show();
x = null;

x在需要时可以是Form1或Form2。

答案 1 :(得分:0)

如果您将_for作为一个类字段,则可以随时通过调用for.Show();打开该实例。

示例:

private Form1 _for = new Form1();
private void btn2_Click(object sender, EventArgs e)
{
 for.Show();
}