バージョン

OnBeforeHolidayAdded メソッド

HolidayHolidays コレクションに追加される前に、BeforeHolidayAdded イベントを発生させます。
シンタックス
'宣言
 
Protected Overridable Sub OnBeforeHolidayAdded( _
   ByVal e As CancelableHolidayEventArgs _
) 
protected virtual void OnBeforeHolidayAdded( 
   CancelableHolidayEventArgs e
)

パラメータ

e
イベントのデータを提供する CancelableHolidayEventArgs
解説

イベントが発生すると、デリゲートを通じてイベント ハンドラーが呼び出されます。

OnBeforeHolidayAdded メソッドを使用すれば、デリゲートを関連付けなくても、派生クラスでイベントを処理できます。これは、派生クラスでイベントを処理する際によく用いられる手法です。

Inheritors の休日: 派生クラスで OnBeforeHolidayAdded をオーバーライドする場合は、登録されたデリゲートがイベントを受信できるようにするため、必ず基本クラスの OnBeforeHolidayAdded メソッドを呼び出してください。

使用例
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinSchedule
Imports System.Diagnostics

    Private Sub ultraCalendarInfo1_BeforeHolidayAdded(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.CancelableHolidayEventArgs) Handles ultraCalendarInfo1.BeforeHolidayAdded

        '----------------------------------------------------------------------------------------------------
        '	説明
        '	BeforeHolidayAdded
        '
        '	新しい休日がコンポーネントの Holidays コレクションに追加される前に発生します
        '	キャンセルされる場合、Holiday が追加されずに、AfterHolidayAdded イベントも発生しません
        '
        '----------------------------------------------------------------------------------------------------

        '	この休日に追加される月は既存の休日がある
        '	かどうかを決定します

        If (e.Holiday.Day.Month.Holidays.Count > 0) Then
            '	Holiday の追加を回避するには、Cancel プロパティを
            '	True に設定します
            e.Cancel = True

            '	ユーザーに状態を出力します
            Dim info As String = String.Empty
            Dim monthName As String = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.MonthNames(e.Holiday.Day.Month.MonthNumber - 1)
            info += "Sorry, but there is already a Holiday for the month of " + monthName + "."

            MessageBox.Show(info, "BeforeHolidayAdded", MessageBoxButtons.OK, MessageBoxIcon.Stop)
        End If

    End Sub
using System.Diagnostics;
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinSchedule;

		private void ultraCalendarInfo1_BeforeHolidayAdded(object sender, Infragistics.Win.UltraWinSchedule.CancelableHolidayEventArgs e)
		{		

			//----------------------------------------------------------------------------------------------------
			//	説明
			//	BeforeHolidayAdded
			//
			//	新しい休日がコンポーネントの Holidays コレクションに追加される前に発生します
			//	キャンセルされる場合、Holiday が追加されずに、AfterHolidayAdded イベントも発生しません
			//
			//----------------------------------------------------------------------------------------------------

			//	この休日に追加される月は既存の休日がある
			//	かどうかを決定します

			if ( e.Holiday.Day.Month.Holidays.Count > 0 )
			{
				//	Holiday の追加を回避するには、Cancel プロパティを
				//	True に設定します
				e.Cancel = true;

				//	ユーザーに状態を出力します
				string info = string.Empty;
				string monthName = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.MonthNames[ e.Holiday.Day.Month.MonthNumber -1 ];
				info += "Sorry, but there is already a Holiday for the month of " + monthName + ".";

				MessageBox.Show( info, "BeforeHolidayAdded", MessageBoxButtons.OK, MessageBoxIcon.Stop );
			}

		}
参照