У меня есть 2 формы в моем проекте. Пользователи не могут выйти из первой, frmOptometry. У меня это реализовано таким образом:Как закрыть первую форму?
Private Sub frmOptometry_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
MessageBox.Show("You can only close the application from the receipt screen!")
e.Cancel = True
End Sub
Вторая форма, с которой можно выйти из frmReceipt. Я его реализовать так:
Private Sub frmReceipt_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If MessageBox.Show("Are you sure you want to quit?",
"Obi-Wan Optometry Closing",
MessageBoxButtons.YesNo,
MessageBoxIcon.Exclamation) =
DialogResult.No Then
e.Cancel = True
Else
frmOptometry.Close()
End If
End Sub
Прямо сейчас, это не закрывает программу полностью, потому что она идет к frmOptometry_FormClosing и предотвращает его. Что мне делать, чтобы это исправить? Есть ли все равно, чтобы выяснить, где пользователь пытается закрыть программу, а затем решить оттуда?
Вы можете изменить приложение, чтобы закрыть, когда последняя форма закрывается. Также не нужно спрашивать «Вы уверены, что хотите уйти?» особенно с ИСКЛЮЧЕНИЕМ! - это происходит с того времени, когда потребовалось 4-7 минут для загрузки Lotus 1-2-3 с 5-дюймовых дискет. Если ваше приложение так долго загружается, отредактируйте его – Plutonix
Он не спрашивал о Lotus ... Также говорит, что ему не нужно спрашивать, хочет ли пользователь бросить, здесь совсем неважно ... Просто несколько мыслей, как ни один из то, что вы упомянули, относится к его прямому вопросу ... – Codexer
@Codexer: Предоставление рекомендаций с помощью комментариев вполне уместно. Поскольку это конкретное руководство не затрагивало вопрос пользователей, его не предоставляли в качестве ответа. –