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