3

これは以下の私のコードです。フォームの [X] ボタンをクリックすると、メッセージ ボックスが表示され、[いいえ] をクリックしても機能しませんが、[はい] をクリックすると、メッセージ ボックスが閉じてすぐに再び表示され、2 回目にいずれかのボタンをクリックするとフォームが閉じます。どうしたの?

    Private Sub Config_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
    Dim result = MessageBox.Show("Would you like to quit?", MessageBoxButtons.YesNo)
    If result = DialogResult.No Then
        e.Cancel = True
    ElseIf result = DialogResult.Yes Then
        Application.Exit()
    End If
End Sub

前もって感謝します

4

2 に答える 2

6

Application.Exitフォームが (再帰的に) 閉じられるため、メッセージ ボックスが再び表示されます。ユーザーがメッセージ ボックスで [はい] を押した場合、イベント ハンドラーで何もせず、アプリケーションの終了を続行できるようにする必要があります。

設定しないことe.Cancel = Trueで、フォームのシャットダウンを続行することを示します。

于 2013-09-17T04:06:18.387 に答える