2011-08-11 144 views
3

我想通過vb.net winforms應用程序中的模態窗體將信息傳遞給父窗體。將值從模態形式傳遞給父窗體vb.net

1.)我創建了一個表單的副本,並使用下面的代碼顯示它。

dim f=new frmParent() 
f.show() 

2.)根據條件,frmParent上的按鈕打開一個模態子窗體並詢問一些信息。我使用以下代碼:

dim f = new ChildForm() 
f.showDialog() 

這兩個代碼都能正常工作。當用戶按下保存在子窗體中時,我需要關閉childForm並在父窗體中使用用戶類型值。我知道如何關閉子表單,但不知道如何將信息從子表單傳遞給父表單。

+1

如David Steele的示例,您可以爲父母讀取的孩子擁有一個公共財產;你可以傳遞子對主窗體的引用,並讓它在父窗體上設置一個屬性或調用一個函數;你可以讓父對象傳遞一個引用來保存數據,或者一個Func <>,它可以被孩子調用來設置數據;您也可以在加載孩子之前在父母表單上附加一個孩子表單上的事件...可能還有其他人,但那些是首先想到的事情。 – shelleybutterfly

回答

8

對你childForm

Public Property MyData As MyType 

的公共屬性然後當你展示的形式,你可以做

dim f as new ChildForm() 

If f.showDialog = DialogResult.OK Then 
    Data = f.MyData() 
End if 

如果你需要讓他們能夠再次編輯數據,那麼你也可能要考慮將數據傳遞給對話框的構造函數。

+0

thnx ...它的工作gr8 ...我假設,因爲子窗體已經關閉,我們將無法從其屬性或變量中獲取值... – KoolKabin

+2

好消息。您仍然可以訪問表單公共屬性,直到您的表單變量(在本例中爲f)超出範圍。 –

相關問題