打开另一个表格时关闭现有表格

时间:2014-07-02 18:00:37

标签: c# compact-framework

我在紧凑的框架3.5中工作,我正在开发Windows移动应用程序。

Form1.cs的

internal void menuItem_Click(object sender, EventArgs e)
{
    this.Close();
    form2 obj = new form2();
    obj.ShowDialog();
    /////other code
}  

form2.cs

public void backbutton_Click(object sender, EventArgs e)
{
    form1 obj = new form1();
    obj.ShowDialog();
    /////other code
}  

最初我在form1并且我正在导航到form2.In form2,后面的按钮就在那里,点击后退按钮我需要显示from1.Now我可以在backbutton点击上显示form1但是我需要关闭之前打开的form1。

我尝试使用this.Close()this.Dispose()。这使我从我的应用程序中存在。

如何在紧凑的框架中执行此操作。

2 个答案:

答案 0 :(得分:1)

处理这类事情的最佳方式是使用单身人士。当你显示你的第一个表单时,你实例化第一个表单,然后你显示第二个表单创建它并隐藏第一个表单(使用hide(),而不是close(),然后你的实例仍然在内存中)。在后退按钮上单击,您只需要隐藏()第二个,并显示()第一个。

答案 1 :(得分:0)

我建议不要从form2创建新的form1,只需关闭form2并返回到form1:

form2.cs:

public void backbutton_Click(object sender, EventArgs e)
{
    this.Close();
}

Form1.cs中:

internal void menuItem_Click(object sender, EventArgs e)
{
    form2 obj = new form2();
    obj.ShowDialog();
    /////other code
}