WinformsとWPFのMessageBoxのコードの違い
WinformsからWPFへ移行したときの覚書です。今はWeb検索などせずにChatGPTなどに教えてもらってるんですかねみなさん。自分はWeb検索が主流なので今回も他の方のコードを参考にさせていただき難を脱しました。その恩返しとして覚書を残すことにしました。
WPFでも問題なくMessageBoxを呼べますが若干の違いがあります。なぜ変えたのか?は疑問ですが作成者のポリシーを感じます。
Winforms
if (MessageBox.Show("Delete record. Are you sure?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return;
WPF
if (MessageBox.Show("Delete record. Are you sure?", this.Title, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No) return;
違いがわかりましたでしょうか?間違い探しみたいですね
1). MessageBoxButtons.YesNoとMessageBoxButton.YesNo、Buttonが単数系になっています。
2).MessageBoxIcon.QuestionとMessageBoxImage.Question、IconがImageになっています。
3).DialogResult.NoがMessageBoxResult.Noになっています。
4). MessageBoxとは関係ないですがタイトル引数にウィンドウタイトルを設定しようとしたところthis.Textがthis.Name this.Titleになっています。