このエントリーをはてなブックマークに追加


タイマーイベントを発行する・Timer

「指定した時間間隔で指定した処理をしたい!」
このような場合はタイマーを使うと簡単に実現できます。
以下に、C#とVisual Basic(VB)のサンプルコードと実際に実行した時のキャプチャを記します。

参考サイト

使用環境

  • Windows 10 ver.1909
  • Visual Studio 2019
  • .NET Core
  • コンソールアプリケーション

サンプルコードの説明

以下に紹介するC#,Visual Basicのサンプルコードの説明をします。

  • Main
    Mainで自分自身(Program)をNewし、Timerの設定を行い、キー入力待ちにしています。
  • runTimer
    runTimerでTimerクラスをNewし各設定を行っています。
    Timer.Elapsedでは、時間になったら実行するメソッド(timerEventMethod)を指定しています。
    Timer.Enabledでタイマーが実行されます。
  • timerEventMethod
    経過時間を表示させています。

Timerのサンプルコード

以下にC#とVisual BasicでTimerを使ったサンプルコードを紹介します。
C#ではClassでVisual BasicではModuleで作成しました。

C#

using System;

class Program
{
    static void Main(string[] args)
    {
        Program me = new Program();
        me.runTimer(2000);
        Console.WriteLine("Press Enter to end this process.");
        Console.ReadLine();
    }

    public void runTimer(int msec)
    {
        System.Timers.Timer tm = new System.Timers.Timer(msec);
        tm.Elapsed += timerEventMethod;
        tm.AutoReset = true;
        tm.Enabled = true;
    }

    public void timerEventMethod(Object source, System.Timers.ElapsedEventArgs e)
    {
        Console.WriteLine("ElapsedEventArgs.SignalTime: " + e.SignalTime.ToString());
    }
}

Visual Basic

Imports System

Module Program

    Sub Main(args As String())
        runTimer(2000)
        Console.WriteLine("Press Enter to end this process.")
        Console.ReadLine()
    End Sub

    Sub runTimer(msec As Integer)
        Dim tm As System.Timers.Timer = New System.Timers.Timer(msec)
        AddHandler tm.Elapsed, AddressOf timerEventMethod
        tm.AutoReset = True
        tm.Enabled = True
    End Sub

    Sub timerEventMethod(source As Object, e As System.Timers.ElapsedEventArgs)
        Console.WriteLine("ElapsedEventArgs.SignalTime: " & e.SignalTime.ToString())
    End Sub

End Module

実行結果

上記サンプルコードを実行した時のキャプチャになります。

01.png

以上、指定した時間毎にイベントを発生させるタイマークラスのサンプルコードでした。


添付ファイル: file01.png 353件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-15 (日) 16:21:37