加载新表单后停止执行代码

时间:2011-10-13 12:19:47

标签: c#

有些方法调用此方法,该方法包含以下代码:

Form frm = new Form();
frm.Show();

但我不想在加载表单后再执行第一个方法。如何防止和停止以forst格式加载代码

2 个答案:

答案 0 :(得分:2)

非常不清楚,我猜你要确保只能创建表单的一个实例。您可以通过跟踪实例的生命周期来实现此目的。像这样:

    private Form2 instance;

    private void showForm2() {
        if (instance == null) {
            instance = new Form2();
            instance.FormClosed += delegate { instance = null; };
            instance.Show();
        }
        else {
            instance.WindowState = FormWindowState.Normal;
            instance.Focus();
        }
    }

答案 1 :(得分:1)

编辑:问题非常不清楚所以我根据我对它的理解给出答案......

在创建表单后阻止执行,直到此表单关闭,尝试使用ShowDialog()

using(var frm = new Form1())
{
  frm.ShowDialog();

  // here your code is not executed until frm is closed...
  //...
  //...
}

请注意,您不希望创建Form类型的对象,因为它是默认基类,并且不包含您的控件...