バージョン

BeforeSelectedDateRangeChange イベント

SelectedDateRanges コレクションに変更が適用される前に発生します。
シンタックス
'宣言
 
Public Event BeforeSelectedDateRangeChange As BeforeSelectedDateRangeChangeEventHandler
public event BeforeSelectedDateRangeChangeEventHandler BeforeSelectedDateRangeChange
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、BeforeSelectedDateRangeChangeEventArgs 型の引数を受け取りました。次の BeforeSelectedDateRangeChangeEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ解説
Cancel System.ComponentModel.CancelEventArgsから継承されます。 
DisplayMaxSelectedDaysErrorMsg MaxSelectedDaysErrorダイアログがユーザーに表示されるかどうかを決定します。
NewSelectedDateRanges イベントがキャンセルされない限り選択される日付範囲を含む SelectedDateRanges オブジェクトを返します。プロパティは読み取り専用です。
WasMaxSelectedDaysExceeded 最大の選択項目が選択変更によって超過したかどうかを示します。
解説

BeforeSelectedDateRangeChange イベントは、SelectedDateRanges コレクションが変更されないようにするために(System.ComponentModel.CancelEventArgs.Cancel プロパティを True に設定することで)キャンセルできます。

BeforeSelectedDateRangeChangeEventArgs.NewSelectedDateRanges プロパティは新しい選択された DateRange オブジェクトのコレクションを返します。

BeforeSelectedDateRangeChangeEventArgs.WasMaxSelectedDaysExceeded プロパティは、選択した結果が選択可能な最大日数を超えているかどうかを示します。これが True のとき、BeforeSelectedDateRangeChangeEventArgs.DisplayMaxSelectedDaysErrorMsg プロパティを使用して、MaxSelectedDays プロパティを超過していることを示すために、ダイアログがユーザーに表示されるかどうかを決定します。

このイベントの実行中に SelectedHolidays コレクションを変更することはできません。ただし、BeforeSelectedDateRangeChangeEventArgs.NewSelectedDateRanges プロパティから返されるコレクションを変更できます。

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

    Private Sub ultraCalendarInfo1_BeforeSelectedDateRangeChange(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.BeforeSelectedDateRangeChangeEventArgs) Handles ultraCalendarInfo1.BeforeSelectedDateRangeChange

        '----------------------------------------------------------------------------------------------------
        '	説明
        '	BeforeSelectedDateRangeChange
        '
        '	日付の範囲が選択または選択解除される前に発生します
        '
        '	SelectedDateRanges コレクションはコレクションのコレクションです
        '	各「サブコレクション」は選択された日を表します各の
        '	DateRange オブジェクトは選択された連続日の範囲を表します
        '	新しい日が選択されたときに、新しい日は現在に選択される日の隣りにある場合、
        '	新しい日は既存の DateRange オブジェクトに追加されます隣りではない場合、新しい DateRange オブジェクトはコレクションに
        '	追加し、1 つの日のみを含みます
        '
        '----------------------------------------------------------------------------------------------------

        '	選択された日の最大数がある場合、
        '	ダイアログを表示しなくて、制限を 1 で増加します
        If (e.WasMaxSelectedDaysExceeded) Then
            Me.ultraCalendarInfo1.MaxSelectedDays += 1
            e.DisplayMaxSelectedDaysErrorMsg = False
        End If

        Dim range As Infragistics.Win.UltraWinSchedule.DateRange
        For Each range In e.NewSelectedDateRanges
            Dim day As Infragistics.Win.UltraWinSchedule.Day
            For Each day In range.Days

                If day.DayOfWeek.DayOfTheWeek = System.DayOfWeek.Saturday Or day.DayOfWeek.DayOfTheWeek = System.DayOfWeek.Sunday Then

                    Dim info As String = "The new selection includes a weekend day." + vbCrLf
                    info += "Continue?." + vbCrLf
                    Dim result As DialogResult = MessageBox.Show(info, "BeforeSelectedDateRangeChange", MessageBoxButtons.YesNo)
                    If (result = DialogResult.No) Then
                        e.Cancel = True
                    End If
                End If
            Next
        Next

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

		private void ultraCalendarInfo1_BeforeSelectedDateRangeChange(object sender, Infragistics.Win.UltraWinSchedule.BeforeSelectedDateRangeChangeEventArgs e)
		{

			//----------------------------------------------------------------------------------------------------
			//	説明
			//	BeforeSelectedDateRangeChange
			//
			//	日付の範囲が選択または選択解除される前に発生します
			//
			//	SelectedDateRanges コレクションはコレクションのコレクションです
			//	各「サブコレクション」は選択された日を表します各の
			//	DateRange オブジェクトは選択された連続日の範囲を表します
			//	新しい日が選択されたときに、新しい日は現在に選択される日の隣りにある場合、
			//	新しい日は既存の DateRange オブジェクトに追加されます隣りではない場合、新しい DateRange オブジェクトはコレクションに
			//	追加し、1 つの日のみを含みます
			//
			//----------------------------------------------------------------------------------------------------
		
			//	選択された日の最大数がある場合、
			//	ダイアログを表示せずに、制限を 1 で増加します
			if ( e.WasMaxSelectedDaysExceeded )
			{
				this.ultraCalendarInfo1.MaxSelectedDays++;
				e.DisplayMaxSelectedDaysErrorMsg = false;
			}

			foreach ( DateRange range in e.NewSelectedDateRanges )
			{
				foreach( Infragistics.Win.UltraWinSchedule.Day day in range.Days )
				{
					if ( (System.DayOfWeek)day.DayOfWeek.DayOfTheWeek == System.DayOfWeek.Saturday ||
						 (System.DayOfWeek)day.DayOfWeek.DayOfTheWeek == System.DayOfWeek.Sunday )
					{
						string info = "The new selection includes a weekend day." + "\n";
						info += "Continue?." + "\n";
						DialogResult result = MessageBox.Show( info, "BeforeSelectedDateRangeChange", MessageBoxButtons.YesNo );
						if ( result == DialogResult.No )
							e.Cancel = true;
					}
				}
			}

		}
参照