1. ホーム
  2. vb.net

[解決済み] VB.NET: FormClosing()を中止する

2022-02-18 18:24:39

質問

アプリを閉じるときに実行させたいコードスニペットがあるのですが、どうすればいいですか?そこで、私は FormCLosing イベントが発生します。しかし今、私は終了のための確認メッセージを置きたいと思っています。例えば、ユーザーがExit() イベントをクリックした場合。 X をクリックすると、アプリは終了せず、以前の状態に戻ります。

を使用して実現することは困難だと思います。 FormClosing というのは、ユーザーがどのボタンをクリックしても実行されてしまうからです。 何かいい方法はないでしょうか?

つまり、偶数のような ExitButtonPressed() ..

解決方法は?

次のようなことを試してみてください。

Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
    If (MessageBox.Show("Close?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No) Then
        e.Cancel = True
    End If
End Sub

をご覧ください。

FormClosingEventArgs クラス

そして

CancelEventArgs.Cancel プロパティ

を設定することで、イベントをキャンセルすることができます。 を true に設定します。