Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinSchedule
Imports System.Diagnostics
Private Sub ultraCalendarInfo1_CalendarInfoChanged(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.CalendarInfoChangedEventArgs) Handles ultraCalendarInfo1.CalendarInfoChanged
'----------------------------------------------------------------------------------------------------
' 説明
' CalendarInfoChanged
'
' UltraCalendarInfo オブジェクトのプロパティが変更されたときに CalendarInfoChanged イベントを発生します
' UltraCalendarInfo オブジェクトに複数オブジェクト プロパティ (ActiveDay、Appointments など) があるため、
' CalendarInfoChangedEventArgs の PropChangeInfo オブジェクト プロパティは Trigger プロパティによって保存される
' 入れ子になった PropChangeInfo オブジェクトを含むことが可能です親チェーンを再帰的に上へ移動し、
' プロパティ変更の通知を発生したイベントの詳細リストを作成できます
'
'----------------------------------------------------------------------------------------------------
Debug.WriteLine("**********CalendarInfoChanged event fired (begin)**********")
Dim pci As PropChangeInfo = e.PropChangeInfo
' PropID を出力します
Debug.WriteLine("PropID = " + pci.PropId.ToString())
' Source を出力します
If (pci.Source Is Nothing) Then
Debug.WriteLine("Source Is Nothing")
Else
Debug.WriteLine("Source = " + pci.Source.ToString())
' Trigger を出力します
If (pci.Trigger Is Nothing) Then
Debug.WriteLine("Trigger Is Nothing")
Else
Debug.WriteLine("Trigger = " + pci.Trigger.ToString())
' null 値を持つ Trigger を見つけるまで親通知ェーンを移動します
' 変更についての情報が読みやすい様にインデントして
' デバッガーへ出力します
Dim tabChars As String = Chr(9)
While Not pci.Trigger Is Nothing
' 現在の Trigger の Trigger を取得して再帰します
pci = pci.Trigger
If pci.Trigger Is Nothing Then Exit While
' PropID を出力します
Debug.WriteLine(tabChars + "PropID = " + pci.PropId.ToString())
' Source を出力します
If (pci.Source Is Nothing) Then
Debug.WriteLine(tabChars + "Source Is Nothing")
Else
Debug.WriteLine(tabChars + "Source = " + pci.Source.ToString())
' Trigger を出力します
If (pci.Trigger Is Nothing) Then
Debug.WriteLine(tabChars + "Trigger Is Nothing")
Else
Debug.WriteLine(tabChars + "Trigger = " + pci.Trigger.ToString())
' 次の再帰のためにインデントを増加します
tabChars += tabChars
End If
End If
End While
End If
End If
Debug.WriteLine("**********CalendarInfoChanged event fired (end)**********")
Debug.WriteLine("")
End Sub