我有三種形式:A,B和C.爲什麼隱藏子窗體也隱藏父窗體?
當一個按鈕被點擊時,A顯示B.同樣,B顯示C.兩個都使用ShowDialog()方法。
然而,當我在窗體C上使用Hide()方法(在Button Click事件中)關閉它時,窗體B也會關閉。
這是爲什麼?據我所知,它不應該這樣做。我當然沒有寫任何代碼來告訴它這樣做。
下面是代碼:
' from Form "A" (MainForm)
Private Sub OrdersDataGridView_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles OrdersDataGridView.CellDoubleClick
ShowViewOrderForm(sender)
End Sub
Private Sub ShowViewOrderForm(ByVal CurrentDGV As DataGridView)
If Not CurrentDGV Is Nothing Then
Dim f As New ViewOrderForm
f.SetOrderNo(CurrentDGV.CurrentRow().Cells().Item(0).Value)
f.SetDeliveryServiceType(CurrentDGV.CurrentRow().Cells().Item(5).Value)
f.ShowDialog()
End If
End Sub
' from Form "B" (ViewOrderForm)
Private Sub IssueOrderButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IssueOrderButton.Click
Dim f As New IssueForm
f.SetOrderNo(ThisOrderNo)
f.ShowDialog()
End Sub
' from Form "C" (IssueForm)
Private Sub CloseButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseButton.Click
Me.Hide()
End Sub
更新:我是一個白癡。 DialogResult
在按鈕上設置爲Cancel
,因爲我將其從現有的「關閉」按鈕中複製並粘貼,並未意識到該屬性已設置。無論如何,感謝您的建議!
也許,一些代碼?試過了,一切都很好。 – 26071986 2010-08-16 12:14:04
謝謝我添加了代碼! – 2010-08-16 12:20:50