2014-04-23 128 views
1

的結果,我想從一個子窗體我的ShowDialogVB.NET在表單之間傳遞數據。如何捕捉Dialogresult.Ok

我提到這個問題上堆棧溢出打開返回一些數據:VB.NET Pass Data Between Forms

這裏是代碼。我知道你在子窗體編寫代碼:

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 

我不能只是貼在任何地方該代碼的代碼。我是否需要製作一個Public Sub來粘貼此代碼或者有其他方法。我只想在對話框結果變好後立即開始讀取子窗體中的數據

+0

你不需要'Me.DialogResult = DialogResult.Ok'在代碼中,你可以爲你的對話框中每個按鈕設置在這個設計師形成。 – Neolisk

回答

2

這取決於您希望如何顯示子窗體。你想顯示它作爲一個按鈕點擊的結果嗎?如果是這樣,你可以把你的代碼到按鈕單擊事件處理程序:

Private Sub _showSubFormButton_Click(sender As System.Object, e As System.EventArgs) Handles _showSubFormButton.Click 
    Dim frmChild = New SubForm 

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

感謝您的回覆。我想在用戶在子表格中按下OK時立即顯示 而且我希望能夠在不使用太多公用字符串的情況下執行此操作 –

+0

不,我的意思是如何顯示子表單? –

+0

I.e.是什麼導致它被顯示?當用戶單擊主窗體上的按鈕時它會顯示嗎? –