イベントが発生すると、デリゲートを通じてイベント ハンドラーが呼び出されます。
OnAfterSelectedDateRangeChange メソッドを使用すれば、デリゲートを関連付けなくても、派生クラスでイベントを処理できます。これは、派生クラスでイベントを処理する際によく用いられる手法です。
Inheritors の休日: 派生クラスで OnAfterSelectedDateRangeChange をオーバーライドする場合は、登録されたデリゲートがイベントを受信できるようにするため、必ず基本クラスの OnAfterSelectedDateRangeChange メソッドを呼び出してください。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports System.Diagnostics Private Sub ultraCalendarInfo1_AfterSelectedDateRangeChange(ByVal sender As Object, ByVal e As System.EventArgs) Handles ultraCalendarInfo1.AfterSelectedDateRangeChange '---------------------------------------------------------------------------------------------------- ' 説明 ' AfterSelectedDateRangeChange ' ' 日付の範囲が選択または選択解除された後に発生します ' ' SelectedDateRanges コレクションはコレクションのコレクションです ' 各「サブコレクション」は選択された日を表します各 ' DateRange オブジェクトは選択された連続日の範囲を表します ' 新しい日が選択されたときに、新しい日が現在選択された日の隣りにある場合、 ' 新しい日は既存の DateRange オブジェクトに追加されます隣りにない場合、新しい DateRange オブジェクトはコレクションに ' 追加し、1 日のみ含みます ' '---------------------------------------------------------------------------------------------------- ' 選択された日がない場合、情報を表示しません If (Me.ultraCalendarInfo1.SelectedDateRanges.Count = 0) Then Return Dim info As String = String.Empty info += "The range of selected days has changed. The currently selected days are:" + vbCrLf + vbCrLf ' アウター ループで SelectedDateRanges を繰り返します Dim range As Infragistics.Win.UltraWinSchedule.DateRange For Each range In Me.ultraCalendarInfo1.SelectedDateRanges ' インナー ループで範囲の Days コレクションを繰り返します Dim day As Infragistics.Win.UltraWinSchedule.Day For Each day In range.Days ' 各の日の情報を情報文字列に追加します info += day.Date.ToLongDateString() + vbCrLf Next Next ' 情報を表示します MessageBox.Show(info, "AfterSelectedDateRangeChange", MessageBoxButtons.OK) End Sub
using System.Diagnostics; using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; private void ultraCalendarInfo1_AfterSelectedDateRangeChange(object sender, System.EventArgs e) { //---------------------------------------------------------------------------------------------------- // 説明 // AfterSelectedDateRangeChange // // 日付の範囲が選択または選択解除された後に発生します // // SelectedDateRanges コレクションはコレクションのコレクションです // 各「サブコレクション」は選択された日を表します各の // DateRange オブジェクトは選択された連続日の範囲を表します // 新しい日が選択されたときに、新しい日は現在に選択される日の隣りにある場合、 // 新しい日は既存の DateRange オブジェクトに追加されます隣りではない場合、新しい DateRange オブジェクトはコレクションに // 追加し、1 つの日のみを含みます // //---------------------------------------------------------------------------------------------------- // 選択された日がない場合、情報を表示しません if ( this.ultraCalendarInfo1.SelectedDateRanges.Count == 0 ) return; string info = string.Empty; info += "The range of selected days has changed. The currently selected days are:" + "\n\n"; // アウター ループに SelectedDateRanges を繰り返します foreach( DateRange range in this.ultraCalendarInfo1.SelectedDateRanges ) { // インナー ループに範囲の Days コレクションを繰り返します foreach( Infragistics.Win.UltraWinSchedule.Day day in range.Days ) { // 各の日の情報を情報文字列に追加します info += day.Date.ToLongDateString() + "\n"; } } // 情報を表示します MessageBox.Show( info, "AfterSelectedDateRangeChange", MessageBoxButtons.OK ); }