'宣言 Protected Overridable Sub OnBeforeAppointmentRemoved( _ ByVal e As CancelableAppointmentEventArgs _ )
protected virtual void OnBeforeAppointmentRemoved( CancelableAppointmentEventArgs e )
イベントが発生すると、デリゲートを通じてイベント ハンドラーが呼び出されます。
OnBeforeAppointmentRemoved メソッドを使用すれば、デリゲートを関連付けなくても、派生クラスでイベントを処理できます。これは、派生クラスでイベントを処理する際によく用いられる手法です。
継承時の注意: 派生クラスで OnBeforeAppointmentRemoved をオーバーライドする場合は、登録されたデリゲートがイベントを受信できるようにするため、必ず基本クラスの OnBeforeAppointmentRemoved メソッドを呼び出してください。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports System.Diagnostics Private Sub ultraCalendarInfo1_BeforeAppointmentRemoved(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.CancelableAppointmentEventArgs) Handles ultraCalendarInfo1.BeforeAppointmentRemoved '---------------------------------------------------------------------------------------------------- ' 説明 ' BeforeAppointmentRemoved ' ' 予定がコンポーネントの Appointments コレクションから削除される前に発生します ' キャンセルされる場合、Appointment は削除されずに、AfterAppointmentRemoved イベントも発生しません ' '---------------------------------------------------------------------------------------------------- ' Appointment の開始日および終了日を取得し、 ' 複数日をまたぐかどうかを決定します Dim startDate As DateTime = e.Appointment.StartDateTime.Date Dim endDate As DateTime = e.Appointment.StartDateTime.Date If (endDate > startDate) Then ' Appointment の削除を回避するには、Cancel プロパティを ' True に設定します e.Cancel = True ' ユーザーに状態を出力します Dim info As String = String.Empty info += "You do not have sufficient permissions to remove multi-day appointments." + vbCrLf MessageBox.Show(info, "BeforeAppointmentRemoved", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub
using System.Diagnostics; using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; private void ultraCalendarInfo1_BeforeAppointmentRemoved(object sender, Infragistics.Win.UltraWinSchedule.CancelableAppointmentEventArgs e) { //---------------------------------------------------------------------------------------------------- // 説明 // BeforeAppointmentRemoved // // 予定がコンポーネントの Appointments コレクションから削除される前に発生します // キャンセルされる場合、Appointment は削除されずに、AfterAppointmentRemoved イベントも発生しません // //---------------------------------------------------------------------------------------------------- // Appointment の開始日および終了日を取得し、 // 複数日をまたぐかどうかを決定します DateTime startDate = e.Appointment.StartDateTime.Date; DateTime endDate = e.Appointment.StartDateTime.Date; if ( endDate > startDate ) { // Appointment の削除を回避するには、Cancel プロパティを // True に設定します e.Cancel = true; // ユーザーに状態を出力します string info = string.Empty; info += "You do not have sufficient permissions to remove multi-day appointments." + "\n"; MessageBox.Show( info, "BeforeAppointmentRemoved", MessageBoxButtons.OK, MessageBoxIcon.Error ); } }