Wpf-dialog-box

提供:Dev Guides
移動先:案内検索

WPF-ダイアログボックス

すべてのスタンドアロンアプリケーションには、いくつかの機能を公開し、GUIを介してアプリケーションが動作するデータを表示するメインウィンドウがあります。 アプリケーションは、以下を行うために追加のウィンドウを表示することもあります-

  • 特定の情報をユーザーに表示する
  • ユーザーから有用な情報を収集する
  • 重要な情報の表示と収集の両方

ダイアログボックスの概念を理解するために例を見てみましょう。 まず、 WPFDialog という名前の新しいWPFプロジェクトを作成します。

  • ツールボックスから1つのボタンと1つのテキストボックスをドラッグします。
  • ユーザーがこのボタンをクリックすると、[はい]、[いいえ]、[キャンセル]ボタンのある別のダイアログボックスが開き、「ボタンをクリックしてください」というメッセージが表示されます。
  • ユーザーがそれらのいずれかをクリックすると、このダイアログボックスが閉じられ、クリックされたボタンの情報を含むテキストボックスが表示されます。
  • ボタンとテキストボックスをいくつかのプロパティで初期化するXAMLコードを次に示します。
<Window x:Class = "WPFDialog.MainWindow"
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
   Title = "MainWindow" Height = "350" Width = "604">

   <Grid>
      <Button Height = "23" Margin = "100" Name = "ShowMessageBox"
         VerticalAlignment = "Top" lick = "ShowMessageBox_Click">
            Show Message Box
      </Button>

      <TextBox Height = "23" HorizontalAlignment = "Left" Margin = "181,167,0,0"
         Name = "textBox1" VerticalAlignment = "Top" Width = "120"/>
   </Grid>

</Window>

ボタンクリックイベントが実装される* C#コード*を次に示します。

using System;
using System.Windows;
using System.Windows.Controls;

namespace WPFDialog {
  ///<summary>
     ///Interaction logic for MainWindow.xaml
  ///</summary>

   public partial class MainWindow : Window {

      public MainWindow() {
         InitializeComponent();
      }

      private void ShowMessageBox_Click(object sender, RoutedEventArgs e) {
         string msgtext = "Click any button";
         string txt = "My Title";
         MessageBoxButton button = MessageBoxButton.YesNoCancel;
         MessageBoxResult result = MessageBox.Show(msgtext, txt, button);

         switch (result) {
            case MessageBoxResult.Yes:textBox1.Text = "Yes";
            break;
            case MessageBoxResult.No:textBox1.Text = "No";
            break;
            case MessageBoxResult.Cancel:textBox1.Text = "Cancel";
            break;
         }
      }
   }
}

上記のコードをコンパイルして実行すると、次のウィンドウが生成されます。

ダイアログボックスの出力

ボタンをクリックすると、ユーザーにボタンをクリックするように求める別のダイアログボックス(下図を参照)が表示されます。

ユーザーにクリックを促す

ユーザーが[はい]ボタンをクリックすると、ボタンの内容でテキストボックスが更新されます。

ボタンをクリック