2012-12-18 99 views
3

首先對我的壞英語感到抱歉。VB.NET在表單之間傳遞數據

我在VB.NET中做一個應用程序,我有一個小問題。 我有兩種形式一個主要的FORM(總是打開),我打開一個對話框。

在輔助表單中(例如打開的對話框),我可以選擇做什麼,根據我選擇的內容我必須觸發主窗體中的事件。 讓我解釋一下,在子窗體中,我選擇客戶編號2,然後按OK,主窗體必須加載與客戶編號2有關的所有數據。

很明顯,面向對象vb.net我無法從另一個表單調用子表單(因爲我無法訪問該實例),也無法聲明新表單,因爲主表單始終處於打開狀態。

然後我如何傳遞客戶的ID並提升事件加載?

回答

7

通過公共或朋友財產暴露在孩子的客戶ID,例如(子窗體):

Public Property CustomerID as Integer 

Private Sub OK_Click(s as Object, e as eventargs) Handles OK.Click 
    CustomerID = id 'pass the value here 
    Me.DialogResult = DialogResult.Ok 
End Sub 

在主窗體,然後:

If frmChild.ShowDialog = DialogResult.Ok Then 
    MessageBox.Show("Customer ID: " + frmChild.CustomerID) 
End If 
+0

不要忘了「 Dim frmchild as new myOtherForm「...我可以想象,如果你從一開始就不知道從一開始就在表單之間傳遞數據,這會非常煩人。 – deltu100

+0

不幸的是我是個怪人!我知道數據是通過屬性傳遞的,理論上我也意識到我可以使用DialogBox,但在編寫代碼時,我總是懷疑這是否正確,我總是會錯過某些東西。 謝謝你的幫助,現在一切正常! –