如何:处理 EntryWritten 事件

更新:2007 年 11 月

可以为 EventLog 组件创建事件处理程序。当在日志中写入项时,这些处理程序会自动调用一个过程。为 EventLog 组件的实例创建事件处理程序的方法有多种,但最简单的方法是让 Visual Studio 自动为您处理大部分语法。当在设计器中双击 EventLog 组件时,Visual Studio 会显示代码编辑器,并创建事件处理程序以及它调用的空过程。然后,您可以填入希望在 EntryWritten 事件处理程序中发生的处理。

有关事件处理程序的更多信息,请参见处理和引发事件

创建 EntryWritten 事件的默认处理程序

  1. 在设计器中,双击要创建处理程序的 EventLog 组件。

    说明:

    此时,将出现代码编辑器,同时在代码中添加两项:一项是创建和注册委托并调用过程的处理程序,另一项是 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);
    
    说明:

    有关此语法的更多信息,请参见处理和引发事件

  2. 创建 EntryWritten 过程,并定义用于处理日志项的代码。

  3. EnableRaisingEvents 属性设置为 true。

请参见

任务

如何:配置 EventLog 组件实例

如何:配置 EventLog 组件实例

其他资源

处理和引发事件