1: Imports System.Web.Mail 2: 3: Enum ReportType 4: ToMessageBox = 0 5: ToEventLog = 1 6: ToEMail = 2 7: End Enum 8: 9: Public Class Form1 10: Inherits System.Windows.Forms.Form 11: 12: …Windows フォーム デザイナーで生成されたコード… 13: 14: Private Sub ReportToMessageBox(ByVal msg As String) 15: MessageBox.Show(msg) 16: End Sub 17: 18: Private Sub ReportToEventLog(ByVal msg As String) 19: If Not EventLog.SourceExists("SampleSource") Then 20: EventLog.CreateEventSource("SampleSource", "SampleNewLog") 21: End If 22: Dim myLog As New EventLog() 23: myLog.Source = "SampleSource" 24: myLog.WriteEntry(msg) 25: End Sub 26: 27: Private Sub ReportToEMail(ByVal msg As String) 28: Dim from As String = "autumn@piedey.co.jp" 29: Dim mailto As String = "autumn@piedey.co.jp" 30: Dim subject As String = "Sample Error Report" 31: Dim body As String = msg 32: SmtpMail.Send(from, mailto, subject, body) 33: End Sub 34: 35: Private reportMode As ReportType 36: 37: Private Sub Report(ByVal msg As String) 38: Select Case reportMode 39: Case ReportType.ToMessageBox 40: ReportToMessageBox(msg) 41: Case ReportType.ToEventLog 42: ReportToEventLog(msg) 43: Case ReportType.ToEMail 44: ReportToEMail(msg) 45: End Select 46: End Sub 47: 48: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 49: reportMode = ReportType.ToMessageBox 50: End Sub 51: 52: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 53: Report("エラーが発生しました") 54: End Sub 55: 56: Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged 57: reportMode = ReportType.ToMessageBox 58: End Sub 59: 60: Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged 61: reportMode = ReportType.ToEventLog 62: End Sub 63: 64: Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged 65: reportMode = ReportType.ToEMail 66: End Sub 67: End Class