気軽に遊べるミニゲームを制作しています

ブラウザゲームまとめ

【c# WPF道場】選択肢のあるボタンを作成する

WPF

デスクトップアプリケーションを使っていると処理や保存を行うか聞かれるメッセージボックスが表示されることがあると思います。

今回はそのようなアプリケーションを作成していきます。

フォームの作成

まずはフォームを作成していきます。
左のツールボックスからボタンを選択して、フォーム内にボタンを設置します。

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

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

コードの作成

ボタンを押したときに 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が選択されました。");
            } 

        }

コメント

タイトルとURLをコピーしました