はじめに

簡単なプログラムの場合、イベントドリブンを組み合わせることにより、大部分のプログラムを作ることができます。

ただ、タイミングが必要なアプリケーションを作るには、タイマーが必要となります。

解説

Windows FormのTimerControlとは違い、自分でオブジェクトの管理を行う必要があります。

Windows.UI.Xaml.DispatcherTimer

を使います。

プログラムは、ボタンを1個置きます。(NameをbtnTest、Contentに0を設定します)



サンプルプログラムを書いてみましょう。
private void Button_Click_1(object sender, RoutedEventArgs e)
{
    var dispatcherTimer = new DispatcherTimer();

    dispatcherTimer.Interval = TimeSpan.FromMilliseconds(1000);
    dispatcherTimer.Tick += dispatcherTimer_Tick;
    dispatcherTimer.Start();
}

void dispatcherTimer_Tick(object sender, object e)
{
    btnTest.Content = (Convert.ToInt32(btnTest.Content) + 1).ToString();
}

解説

Interval に、タイマーイベントが上がる間隔を設定します。
Tickにイベントを関連付けると、Intervalに指定した間隔で、イベントが上がります。
Startメソッドを発行すると、タイマーイベントが開始されます。
Stopメソッドを発行すると、タイマーイベントが停止します。

早速実行してみましょう。ボタンを押すとタイマーが実行されます。
8秒待つと、以下の結果になります。



おわりに

これで、タイマーを使いこなせるとおもいます。
AILight Reversiでも、パスを実行するときに、タイマーを利用してタイミングを取っています。

ゲームでは、タイマーは特に重要になりますので、覚えておきましょう!!

調査環境

Windows ストア アプリ
VS2012
C#

更新日

2012/12/09:アップ