Share via


方法 : サーバー ベースのタイマを監視する

更新 : 2007 年 11 月

Timer コンポーネントでは、指定した間隔に基づいて、Elapsed というイベントが定期的に発生します。このイベントを使用して、必要な処理を実行します。たとえば、データベースに継続的に販売注文がポストされる、オンライン販売アプリケーションがあるとします。このサービスは、各注文を 1 つずつ処理する代わりに、注文に対する出荷処理を実行する命令をバッチでコンパイルします。タイマを使用すると、30 分ごとにバッチ処理を実行するように設定できます。

Elapsed イベントのハンドラを作成するには

  1. Timer コンポーネントのインスタンスを作成し、そのインスタンスを機能させるために必要なプロパティを設定します。詳細については、「方法 : サーバー ベースのタイマのインスタンスを作成する」を参照してください。

  2. Elapsed イベントに myTimer_Elapsed というイベント ハンドラを関連付けます。詳細については、「イベントの利用」を参照してください。コードは、次のようになります。

    AddHandler myTimer.Elapsed, New _
       System.Timers.ElapsedEventHandler(AddressOf Me.myTimer_Elapsed)
    
         myTimer.Elapsed +=
               new System.Timers.ElapsedEventHandler(myTimer_Elapsed);
    
    c45bs4h5.alert_note(ja-jp,VS.90).gifメモ :

    この構文の詳細については、「Windows フォーム内でのイベント ハンドラの作成」を参照してください。

  3. myTimer_Elapsed プロシージャを作成し、イベントを処理するコードを定義します。

    Private Sub myTimer_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs)
        System.Windows.Forms.MessageBox.Show("Elapsed!", _
           "Timer Event Raised!")
    End Sub
    
     private void myTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            System.Windows.Forms.MessageBox.Show("Elapsed!",
               "Timer Event Raised!");
        }
    

    次のコード例では、5 秒ごとにイベントを発生させ、そのイベントの発生を通知するメッセージ ボックスを表示する Timer コンポーネントを作成します。

    Private Sub CreateTimer()
        Dim Timer1 As New System.Timers.Timer()
        Timer1.Interval = 5000
        Timer1.Enabled = True
        AddHandler Timer1.Elapsed, _
           New System.Timers.ElapsedEventHandler(AddressOf Me.Timer1_Elapsed)
    End Sub
    
    Private Sub Timer1_Elapsed(ByVal sender As System.Object, _
       ByVal e As System.Timers.ElapsedEventArgs)
        System.Windows.Forms.MessageBox.Show("Elapsed!", "Timer Event Raised!")
    End Sub
    
     private void CreateTimer()
        {
            System.Timers.Timer Timer1 = new System.Timers.Timer();
            Timer1.Enabled = true;
            Timer1.Interval = 5000;
            Timer1.Elapsed +=
               new System.Timers.ElapsedEventHandler(Timer1_Elapsed);
        }
    
        private void Timer1_Elapsed(object sender,
        System.Timers.ElapsedEventArgs e)
        {
            System.Windows.Forms.MessageBox.Show("Elapsed!",
               "Timer Event Raised!");
        }
    

参照

処理手順

方法 : サーバー ベースのタイマのインスタンスを作成する

概念

サーバー ベースのタイマの概説

参照

Timer コンポーネントの概要 (Windows フォーム)

その他の技術情報

Windows フォーム内でのイベント ハンドラの作成