'宣言 Protected Overridable Sub OnBeforeDisplayReminderDialog( _ ByVal e As CancelableAppointmentEventArgs _ )
protected virtual void OnBeforeDisplayReminderDialog( CancelableAppointmentEventArgs e )
イベントが発生すると、デリゲートを通じてイベント ハンドラーが呼び出されます。
OnBeforeDisplayReminderDialog メソッドを使用すれば、デリゲートを関連付けなくても、派生クラスでイベントトを処理できます。これは、派生クラスでイベントを処理する際によく用いられる手法です。
継承時の注意: 派生クラスで OnBeforeDisplayReminderDialog をオーバーライドする場合は、登録されたデリゲートがイベントを受信できるようにするため、必ず基本クラスの OnBeforeDisplayReminderDialog メソッドを呼び出してください。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports System.Diagnostics Private Sub ultraCalendarInfo1_BeforeDisplayReminderDialog(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.CancelableAppointmentEventArgs) Handles ultraCalendarInfo1.BeforeDisplayReminderDialog '---------------------------------------------------------------------------------------------------- ' 説明 ' BeforeDisplayReminderDialog ' ' Reminder ダイアログが表示される前に発生します ' キャンセルされる場合、Reminder ダイアログは表示されずに、AfterDisplayReminderDialog イベントも発生しません ' '---------------------------------------------------------------------------------------------------- If (e.Appointment.Reminder.SnoozeIntervalUnits = SnoozeIntervalUnits.Days) Then ' Reminder ダイアログが表示されないために、イベントをキャンセルします e.Cancel = True ' SnoozeTime プロパティの値を取得します ' 予定が再通知された時間を指定します Dim snoozeTime As DateTime = e.Appointment.Reminder.SnoozeTime ' 予定がある通知を表示します Dim info As String = String.Empty info += "This Reminder was last snoozed on " + snoozeTime.ToLongDateString() info += " at " + snoozeTime.ToLongTimeString() + vbCrLf + vbCrLf info += "The snooze interval will now be set to 1 minute." + vbCrLf MessageBox.Show(info, "BeforeDisplayReminderDialog", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If End Sub
using System.Diagnostics; using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; private void ultraCalendarInfo1_BeforeDisplayReminderDialog(object sender, Infragistics.Win.UltraWinSchedule.CancelableAppointmentEventArgs e) { //---------------------------------------------------------------------------------------------------- // 説明 // BeforeDisplayReminderDialog // // Reminder ダイアログが表示される前に発生します // キャンセルされる場合、Reminder ダイアログは表示されずに、AfterDisplayReminderDialog イベントも発生しません // //---------------------------------------------------------------------------------------------------- if ( e.Appointment.Reminder.SnoozeIntervalUnits == SnoozeIntervalUnits.Days ) { // Reminder ダイアログが表示されないために、イベントをキャンセルします e.Cancel = true; // SnoozeTime プロパティの値を取得します // 予定が再通知された時間を指定します DateTime snoozeTime = e.Appointment.Reminder.SnoozeTime; // 予定がある通知を表示します string info = string.Empty; info += "This Reminder was last snoozed on " + snoozeTime.ToLongDateString(); info += " at " + snoozeTime.ToLongTimeString() + "\n\n"; info += "The snooze interval will now be set to 1 minute." + "\n"; MessageBox.Show( info, "BeforeDisplayReminderDialog", MessageBoxButtons.OK, MessageBoxIcon.Exclamation ); } }