Share via


方法 : EntryWritten イベントのハンドラを作成する

更新 : 2007 年 11 月

EventLog コンポーネントのイベント ハンドラを作成して、このログにエントリが書き込まれると自動的にプロシージャが呼び出されるように設定できます。EventLog コンポーネントのインスタンスのイベント ハンドラを作成する方法はいくつかありますが、最も簡単なのは、ほとんどの構文を Visual Studio に自動生成させる方法です。デザイナで EventLog コンポーネントをダブルクリックすると、Visual Studio にコード エディタが表示され、イベント ハンドラ、およびイベント ハンドラによって呼び出される空白プロシージャが作成されます。次に、EntryWritten イベント ハンドラ内で発生させる処理を入力します。

イベント ハンドラの詳細については、「イベントの処理と発生」を参照してください。

EntryWritten イベントの既定のハンドラを作成するには

  1. デザイナで、ハンドラを作成する EventLog コンポーネントをダブルクリックします。

    66hk2sh2.alert_note(ja-jp,VS.90).gifメモ :

    コード エディタが表示され、2 つの項目がコードに追加されます。1 つはデリゲートを作成および登録し、プロシージャを呼び出すハンドラです。もう 1 つは EntryWritten イベントの空白プロシージャです。

  2. EntryWritten イベントの空白プロシージャでは、このイベントが呼び出されたときにエントリを受け取って処理するコードを定義します。コードは次のようになります。

    Private Sub EventLog1_EntryWritten(ByVal sender As System.Object, ByVal e As System.Diagnostics.EntryWrittenEventArgs) Handles EventLog1.EntryWritten
        If e.Entry.Source = "MyApplication" Then
            Console.WriteLine("Entry written by my app. Message: " & _
               e.Entry.Message)
        Else
            Console.WriteLine("Entry written by another application. ")
        End If
    End Sub
    
     private void eventLog1_EntryWritten(object sender, System.Diagnostics.EntryWrittenEventArgs e)
        {
            if (e.Entry.Source == "MyApplication")
                Console.WriteLine("Entry written by my application. Message: "
                   + e.Entry.Message);
            else
                Console.WriteLine("Entry was written by another application.");
        }
    
  3. EnableRaisingEvents プロパティを true に設定します。

プログラムでハンドラを作成するには

  1. AddHandler メソッドを使用して、EntryWrittenEventHandler 型のイベント ハンドラを作成します。このイベント ハンドラでは、ログにエントリが書き込まれるときに eventLog1_EntryWritten メソッドを呼び出します。コードは、次のようになります。

    Public Sub method5()
        AddHandler EventLog1.EntryWritten, _
           New System.Diagnostics.EntryWrittenEventHandler( _
           AddressOf Me.EventLog1_EntryWritten)
    
         this.eventLog1.EntryWritten += new
               System.Diagnostics.EntryWrittenEventHandler(
               this.eventLog1_EntryWritten);
    
    66hk2sh2.alert_note(ja-jp,VS.90).gifメモ :

    この構文の詳細については、「イベントの処理と発生」を参照してください。

  2. EntryWritten プロシージャを作成し、エントリを処理するコードを定義します。

  3. EnableRaisingEvents プロパティを true に設定します。

参照

処理手順

方法 : EventLog コンポーネントのインスタンスを設定する

方法 : EventLog コンポーネントのインスタンスを設定する

その他の技術情報

イベントの処理と発生