バージョン

OnBeforeActiveDayChanged メソッド

ActiveDay が変更される前に、BeforeActiveDayChanged イベントを発生させます。
シンタックス
'宣言
 
Protected Overridable Sub OnBeforeActiveDayChanged( _
   ByVal e As BeforeActiveDayChangedEventArgs _
) 
protected virtual void OnBeforeActiveDayChanged( 
   BeforeActiveDayChangedEventArgs e
)

パラメータ

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

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

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

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

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

    Private Sub ultraCalendarInfo1_BeforeActiveDayChanged(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.BeforeActiveDayChangedEventArgs) Handles ultraCalendarInfo1.BeforeActiveDayChanged

        '----------------------------------------------------------------------------------------------------
        '	説明
        '	BeforeActiveDayChanged
        '
        '	ActiveDay が変更される前に発生しますキャンセルされた場合、ActiveDay を変更しなくて、
        '	AfterActiveDayChanged イベントを発生しません
        '
        '----------------------------------------------------------------------------------------------------

        '	新しい ActiveDay になる日の曜日を取得します
        Dim DayOfWeek As System.DayOfWeek = e.Day.Date.DayOfWeek

        '	新しい ActiveDay は土曜日または日曜日であるかどうかを確認します
        If (DayOfWeek = System.DayOfWeek.Saturday Or DayOfWeek = System.DayOfWeek.Sunday) Then
            '	週末日のアクティブ化を回避するには、Cancel プロパティを
            '	True に設定します
            e.Cancel = True

            '	ユーザーに状態を出力します
            Dim info As String = String.Empty
            info += "You cannot activate " + e.Day.Date.ToLongDateString() + " because it falls on a "
            info += DayOfWeek.ToString()

            MessageBox.Show(info, "BeforeActiveDayChanged", MessageBoxButtons.OK)
        End If

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

		private void ultraCalendarInfo1_BeforeActiveDayChanged(object sender, Infragistics.Win.UltraWinSchedule.BeforeActiveDayChangedEventArgs e)
		{

			//----------------------------------------------------------------------------------------------------
			//	説明
			//	BeforeActiveDayChanged
			//
			//	ActiveDay が変更される前に発生しますキャンセルされた場合、ActiveDay を変更しなくて、
			//	AfterActiveDayChanged イベントを発生しません
			//
			//----------------------------------------------------------------------------------------------------
		
			//	新しい ActiveDay になる日の曜日を取得します
			System.DayOfWeek dayOfWeek = e.Day.Date.DayOfWeek;

			//	新しい ActiveDay は土曜日または日曜日であるかどうかを確認します
			if ( dayOfWeek == System.DayOfWeek.Saturday ||
				 dayOfWeek == System.DayOfWeek.Sunday )
			{
				//	週末日のアクティブ化を回避するには、Cancel プロパティを
				//	True に設定します
				e.Cancel = true;

				//	ユーザーに状態を出力します
				string info = string.Empty;
				info += "You cannot activate " + e.Day.Date.ToLongDateString() + " because it falls on a ";
				info += dayOfWeek.ToString();

				MessageBox.Show( info, "BeforeActiveDayChanged", MessageBoxButtons.OK );
			}

		}
参照