libro
www.tuyano.com
C#ではじめるWindows 8アプリ開発入門

ボタンを使って動かそう! (3/4)

作成:2014-01-25 11:32
更新:2014-01-25 11:32

■MainPage.Xaml.csにハンドラメソッドを作成する

Clickに入力してEnterすると、いきなり画面がソースコードエディタに切り替わって、驚いたでしょう。Enterした際に、イベントハンドラとして入力したメソッドが自動生成され、すぐに編集できるようになるのですね。

ここでは「button1_click」という名前を入力しました。これは、どこにあるのでしょうか? 開かれたエディタを見ればその答えがわかります。MainPage.Xamlで設定されたイベントハンドラは、MainPage.Xaml.csの中に用意されるのです。

自動生成されたbutton1_clickというメソッドを見てみましょう。これはこんな具合に定義されています。
private void button1_click(object sender, RoutedEventArgs e)
private voidなメソッドとしてイベントハンドラのメソッドは用意されるのですね。引き数にはobjectRoutedEventArgsというものが渡されています。objectは、イベントが発生したコントロール(ここではButton)を示すオブジェクトです。またRoutedEventArgsは、発生したイベントに関する情報を扱うためのオブジェクトになります。

では、ここに簡単な処理を記述してみましょう。{}内に、以下の一文を入力してください。
textblock1.Text = "Hello, " + textbox1.Text + "!";
シンプルですね。これを書いたら、実際にアプリを実行してみましょう。入力フィールドに名前を書いてボタンをクリックすると、「Hello, ○○!」とテキストが表示されます。

ここでは、textblock1というオブジェクトのTextプロパティにテキストを設定しています。textblock1というのは、先ほどビジュアルデザイナでTextBlockに設定した名前ですね。こんな具合に、Visual Studioでは、配置したコントロールに名前を設定すると、ソースコード側に、その名前の変数として配置コントロールのオブジェクトが用意されるのです。

今回は、textblock1textbox1Textプロパティの値を使っています。Textは、表示されるテキストのことでしたね。ビジュアルデザイナでプロパティに用意されていたものが、そのままオブジェクトのプロパティとして使えるんですね!

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

namespace MyWin8App
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        private void button1_click(object sender, RoutedEventArgs e)
        {
            textblock1.Text = "Hello, " + textbox1.Text + "!";
        }
    }
}

※関連コンテンツ

「C#ではじめるWindows 8アプリ開発入門」に戻る