我有一個父窗體,稱爲A型。這將創建子窗體的OnFormClosing事件,可以說,所謂的形式B.檢測從子窗體
一個訂閱,形成B的事件的FormClosing,使基於這種變化行動。
我想知道的是,如何檢測窗體B中的哪個控件導致FormClosing事件觸發。如果按下「X」或「取消」按鈕,並且按下OK按鈕,我希望代碼按照一種方式行事。
的代碼看起來是這樣的:
Private Sub btnAddSections_Click(sender As Object, e As System.EventArgs) Handles btnAddSections.Click
Cursor = Cursors.WaitCursor
Dim frm As New dlgAddPartsMartixSection(m_intMatrixId)
AddHandler frm.FormClosing, AddressOf btnAddSectionsRefresh
frm.Show()
Cursor = Cursors.Default
End Sub
Private Sub btnAddSectionsRefresh(sender As Object, e As FormClosingEventArgs)
dgvParts.DataSource = Nothing
btnAddParts.Enabled = False
dgvParts.Refresh()
Me.LoadPartMatrices()
dgvMatrices.Rows(m_intMatrixLocationId).Selected = True
Me.LoadPartSections(m_intMatrixId)
End Sub
任何意見/建議?
我有但問題在於,它傳回發件人的對象是整個窗體。我相當肯定我做錯了什麼...... – user1708468 2013-04-08 08:41:59
當你按下'取消'或'確定'時,你必須調用方法,是嗎?因此,如果這些事件具有「Click」事件,則可以將對象設置爲「取消」或「確定」的某個狀態,並且如果單擊「X」它可能是「空」或任何其他事物,所以您知道它是不是'好'。這個怎麼樣?然後你可以在'Closing'方法中讀取狀態? – 2013-04-08 08:46:50
謝謝。這很有道理。 – user1708468 2013-04-08 08:57:32