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