デスクトップアプリケーションを使っていると処理や保存を行うか聞かれるメッセージボックスが表示されることがあると思います。
今回はそのようなアプリケーションを作成していきます。
フォームの作成
まずはフォームを作成していきます。
左のツールボックスからボタンを選択して、フォーム内にボタンを設置します。

デフォルトで表示されているはずのツールボックスが表示されていないときは、以下の方法で表示させることができます。

上のタブから表示を選択して、ツールボックスを選択します。

コードの作成
ボタンを押したときに Yes, Noボタンを表示して、選択された内容によって処理を分岐させる処理を作成します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfTest
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
var ret = MessageBox.Show("選択してください。", "確認", MessageBoxButton.YesNo);
if(ret == MessageBoxResult.Yes)
{
MessageBox.Show("Yesが選択されました。");
}
if(ret == MessageBoxResult.No)
{
MessageBox.Show("Noが選択されました。");
}
}
}
}
MessageBox.Showについて、第3引数までの設定は以下になります。
MessageBox.Show(“メッセージ文”, メッセージボックスのタイトル, ボタンの種類);
動作テスト
開始ボタンを押して動作テストを行います。


はい、いいえの選択によって、処理が分岐されました。


MessageBox.Showの第3引数を OKCancelに変更すると、選択のボタンが
はい or いいえ → OK or キャンセルに変更されます。
private void Button_Click(object sender, RoutedEventArgs e)
{
var ret = MessageBox.Show("選択してください。", "確認", MessageBoxButton.OKCancel);
if(ret == MessageBoxResult.Yes)
{
MessageBox.Show("Yesが選択されました。");
}
if(ret == MessageBoxResult.No)
{
MessageBox.Show("Noが選択されました。");
}
}

コメント