我想以编程方式从一个表单移动到另一个旧表单

时间:2013-12-02 14:42:05

标签: c# visual-studio-2010 forms

我使用C#在Windows窗体应用程序中创建了两个表单。我只是想从一种形式转移到另一种形式。我不想打开新表格。

我创建了一个LinkLabel,一个OnClickEventHandler,在该处理程序中,我想以编程方式移动到已创建的表单。

是否有LinkLabel的任何属性,以便我可以设置其他表格的名称或地址?那么点击它会自动带我去那里吗?

1 个答案:

答案 0 :(得分:2)

我想你以类似的方式打开第二个表格

 Form2 f = new Form2();
 f.Show();

如果是这种情况,那么您可以将引用保存在全局类级别变量中,并在需要再次显示第二个表单时使用该引用

private Form2 theSecondForm = null;
....

// Open the second form...
theSecondForm = new Form2();
theSecondForm.Show();

当您需要切换到第二种形式时

// Check if the second form is still available
if(theSecondForm != null && !theSecondForm.IsDisposed)
    theSecondForm.Show();
else
{
    theSecondForm = new Form2();
    theSecondForm.Show();
}

注意,在调用第二个表单show方法之前,最好检查变量是否仍然有效并指向第二个表单的实例。您还可以连接到Form Close事件,以便在用户关闭第二个表单时收到通知

theSecondForm = new Form2();
theSecondForm.Show();
theSecondForm.FormClosed += ClosingSecondForm;

private void ClosingSecondForm(object sender, FormClosedEventArgs e)
{
   // Set the global variable to null... this prevent to call a closed form
   theSecondForm = null;
}