1. ホーム
  2. vb.net

[解決済み] YesNoCancel付きMessageBox - NoとCancelが同じイベントをトリガーする

2022-02-24 10:21:21

質問

メッセージボックスで YesNoCancel ボタンをクリックすると...

  • 押す Yes は、何らかのアクションを行い、アプリケーションを終了します。
  • 押すこと No は何もせず、アプリケーションを終了します - (下記参照)
  • を押す Cancel は何もせず、アプリケーションを開いたままにします - (下記参照)。

私が使っているのは DialogResult.No には いいえ ボタンと DialogResult.Cancel には キャンセル ボタンをクリックします。しかし、どちらを押してもトリガー DialogResult.Cancel イベントが発生します。何が問題なのでしょうか?

解決方法は?

これで問題なく動作するはずです。

Dim result As DialogResult = MessageBox.Show("message", "caption", MessageBoxButtons.YesNoCancel)
If result = DialogResult.Cancel Then
    MessageBox.Show("Cancel pressed")
ElseIf result = DialogResult.No Then
    MessageBox.Show("No pressed")
ElseIf result = DialogResult.Yes Then
    MessageBox.Show("Yes pressed")
End If