У меня есть форма MDI в качестве начального объекта приложения.
Я не думаю, что это связано, но в событии закрытия формы я проверяю некоторые условия, и если это правда, я спрашиваю подтверждение перед закрытием:
Private Sub FormBackground_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If (e.CloseReason = CloseReason.UserClosing) Then
If (conditionIsMet) Then
Dim res As DialogResult
res = MessageBox.Show("Are you sure?", "Warning", MessageBoxButtons.YesNo)
If (res <> Windows.Forms.DialogResult.Yes) Then
e.Cancel = True
End If
End If
End If
End Sub
Так долговсе отлично работает на моей машине, которая работает под управлением Windows XP.
Однако при развертывании приложения на компьютере с Windows 7 окно сообщения работает правильно, показывая себя, когда это необходимо, но после закрытия формы приложение продолжает работать в фоновом режиме.Это происходит независимо от того, закрывается ли форма напрямую или сначала запрашивает пользователя.
Я (надеюсь) исправил ее, поместив инструкцию End в событие FormBackground.FormClosed, но это не очень хорошо.В качестве обходного пути пока все нормально, но я бы хотел найти причину проблемы.
Есть мысли?