'宣言 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; } } } }