1

アプリケーションにいくつかのタイマーを実装したいと考えています。私の目標は、x 秒/分ごとに関数を実行する簡単な方法を提供することなので、1 秒、5 秒、15 秒のタイマーを実装することを考えました。1秒ごとに更新したい最初のことは、組み込みの時計です(C#に他の解決策があるかどうかはわかりません.C ++でこの方法を使用しました)別の用途は、実行される同期関数などです。 xx秒ごと。

私の質問は、このトピックに関する有用なチュートリアルがあるかどうかです。このようなタイマー システムを自分のアプリケーションの 1 つに実装するのは初めてで、注意すべき点があるかどうかわかりません。

事前に回答ありがとうございます:)

4

2 に答える 2

4

使用できるさまざまな種類の Timer クラスがあります。

WPF では、これがユーザー インターフェイス関連の何かを更新するためのものである場合、通常はDispatcherTimer.

System.Timers.Timerまたはを使用することもできますがSystem.Threading.Timer、これはメインのユーザー インターフェイス スレッドではなく、バックグラウンド スレッドで起動することに注意してください。これはしばしば有益ですが (タイマーのイベントまたはコールバックで「作業」が発生している場合に UI を待機またはブロックしませんTick)、UI スレッドに関連するすべてのユーザー インターフェイスをマーシャリングすることも忘れないでください。

于 2012-09-05T15:27:46.820 に答える
1
    // This timer runs on UI thread
    System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();
    timer.Interval = System.TimeSpan.FromSeconds(1);
    timer.Tick += timer_Tick;
    timer.Start();

    void timer_Tick(object sender, System.EventArgs e)
    {
        Title = System.Windows.Input.Keyboard.FocusedElement.GetType().ToString();
    }
于 2012-09-05T15:27:32.900 に答える