2010-04-07 88 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」會導致表單成爲當前表單的子表單...)