У меня есть родительское форму, которая называется форма A. Это создает дочернюю форму, позволяет сказать, что называется форма B.обнаружение OnFormClosing события из дочерней формы
Для А выписывает сформировать событие FormClosing B и делает изменения, основанные на этом действие.
Что я хочу знать, как определить, какой элемент управления в Форме B вызвал событие FormClosing. Я хочу, чтобы код работал одним способом, если нажаты кнопки «X» или «Отмена», а другой, если нажата кнопка «ОК».
код выглядит следующим образом:
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
Вы должны вызывать методы, когда вы либо нажимаете 'Cancel', либо' OK', не так ли? Поэтому, если у них есть «Click'-events, вы можете установить объект в определенное состояние для« Отмена »или« ОК », и если вы нажмете« X », это может быть« null »или что-то еще, так что вы знаете, что это было НЕ 'ОК'. Как насчет этого? Затем вы можете прочитать состояние в методе 'Закрытие'? –
Спасибо. Это имеет смысл. – user1708468