如何:处理 EntryWritten 事件
更新:2007 年 11 月
可以为 EventLog 组件创建事件处理程序。当在日志中写入项时,这些处理程序会自动调用一个过程。为 EventLog 组件的实例创建事件处理程序的方法有多种,但最简单的方法是让 Visual Studio 自动为您处理大部分语法。当在设计器中双击 EventLog 组件时,Visual Studio 会显示代码编辑器,并创建事件处理程序以及它调用的空过程。然后,您可以填入希望在 EntryWritten 事件处理程序中发生的处理。
有关事件处理程序的更多信息,请参见处理和引发事件。
创建 EntryWritten 事件的默认处理程序
在设计器中,双击要创建处理程序的 EventLog 组件。
说明: 此时,将出现代码编辑器,同时在代码中添加两项:一项是创建和注册委托并调用过程的处理程序,另一项是 EntryWritten 事件的空过程。
在 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."); }
将 EnableRaisingEvents 属性设置为 true。
通过编程创建处理程序
使用 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);
说明: 有关此语法的更多信息,请参见处理和引发事件。
创建 EntryWritten 过程,并定义用于处理日志项的代码。
将 EnableRaisingEvents 属性设置为 true。