2011-10-13 68 views
-1

一些方法调用此方法具有以下代码:停止后新形式执行代码加载

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

,但我不希望执行的形式加载后了第一种方法。如何防止和福斯特形式停止加载代码

+3

为什么调用代码不能返回?这是不是很清楚你在这里问什么。 –

回答

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

编辑:问题很清楚,所以我给基于我对它的理解回答......

形式创建后阻断执行,直到窗体关闭时,尽量使用ShowDialog()

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

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

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