я MDI приложение и есть OnFormClosing событие, которое делает какую-то работу до конца приложения - эти строки:Выполнить код до конца приложения
Projekt.UnlockAllLockedProjects()
End 'completly close app
И ниже всего кода:
Protected Overrides Sub OnFormClosing(e As FormClosingEventArgs)
MyBase.OnFormClosing(e)
If e.CloseReason = CloseReason.WindowsShutDown Then
Return
End If
Dim dr As DialogResult
Select Case Lang.name
Case Lang.LangShortcut.PL
dr = MessageBox.Show(Me, "Kontynuować zamykanie okna?", MsgLevel.QUESTION.ToString, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
Case Lang.LangShortcut.EN
dr = MessageBox.Show(Me, "Are you sure you want to quit?", MsgLevel.ZAPYTANIE.ToString, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
Case Else
End Select
' Confirm user wants to close
Select Case dr
Case DialogResult.No
e.Cancel = True
Exit Select
Case Else
Projekt.UnlockAllLockedProjects()
End 'completly close app
End Select
End Sub
Вопрос Предположим, что будет ошибка приложения, поэтому приложение сработает или вручную поместит где-нибудь еще в код End
. Как я могу убедиться, что Projekt.UnlockAllLockedProjects()
будет всегда выполняться перед выходом приложения. Есть ли место, где можно выразиться, и быть уверенным в этом?
Что является точкой входа в программу? Это форма MDI, 'Sub Main' или любая другая форма. А также эта форма MDI всегда является последней формой приложения, т. Е. Существуют ли несколько форм MDI или любой другой не-MDI-ребенок, который может быть активным даже после закрытия этого MDI? – haraman
первая форма - это форма входа в систему, когда пользователь вводит учетные данные, если они правильные. Я показываю новую форму, которая является контейнером mdi и скрывается. Форма входа – Arie
Никогда не используйте 'End'. Нет причин делать что-либо, чтобы закончить приложение там, потому что оно закончится * если * вы не отмените. Это обычно должно работать, если эта форма является последней формой закрытия (и, как вы, очевидно, настроили приложение), и нет какого-либо необработанного исключения в другом месте – Plutonix