我有一个父窗体,称为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