2010-04-07 165 views
1

我有父窗体和子窗体。我需要在方法开始时打开子窗体,执行一些相当密集的任务,然后在完成后关闭子窗体。C# - 从父项关闭子窗体

这里基本上是我到目前为止已经试过(有没有运气):

父窗体:

Child child = new Child(); 

Method() 
{ 
    child.ShowDialog(); 

    //Method code here 

    child.CloseScan(); 
} 

子窗体:

public void CloseScan() 
{ 
    this.Close(); 
} 

回答

2

当你调用child.ShowDialog()中,代码将暂停,直到关闭对话框,因为您告诉它作为模态对话框起作用。

如果要使代码继续运行,则需要使用child.Show(this);代替。然后你可以做你的“方法代码”,然后关闭窗口。 (添加“this”会导致表单成为当前表单的子表单...)