'Declaration Protected Overridable Sub OnCalendarInfoChanged( _ ByVal e As CalendarInfoChangedEventArgs _ )
protected virtual void OnCalendarInfoChanged( CalendarInfoChangedEventArgs e )
Raising an event invokes the event handler through a delegate.
The OnCalendarInfoChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnCalendarInfoChanged in a derived class, be sure to call the base class's OnCalendarInfoChanged method so that registered delegates receive the event.
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 '---------------------------------------------------------------------------------------------------- ' Description ' CalendarInfoChanged ' ' The CalendarInfoChanged event fires when any property of the UltraCalendarInfo object has changed. ' Since the UltraCalendarInfo object has several object properties (e.g., ActiveDay, Appointments, etc.) ' the CalendarInfoChangedEventArgs' PropChangeInfo object property can contain nested PropChangeInfo ' objects, stored by the Trigger property. By walking up the parent chain recursively, a highly detailed ' "recording" of the sequence of events that caused the property change notification can be produced. ' '---------------------------------------------------------------------------------------------------- Debug.WriteLine("**********CalendarInfoChanged event fired (begin)**********") Dim pci As PropChangeInfo = e.PropChangeInfo ' Output the PropID Debug.WriteLine("PropID = " + pci.PropId.ToString()) ' Output the Source If (pci.Source Is Nothing) Then Debug.WriteLine("Source Is Nothing") Else Debug.WriteLine("Source = " + pci.Source.ToString()) ' Output the Trigger If (pci.Trigger Is Nothing) Then Debug.WriteLine("Trigger Is Nothing") Else Debug.WriteLine("Trigger = " + pci.Trigger.ToString()) ' Walk up the parent notification chain until we hit a null Trigger ' with each recursion, output information about the change to ' the debugger, indenting each level for readability Dim tabChars As String = Chr(9) While Not pci.Trigger Is Nothing ' Recurse by getting the current Trigger's Trigger pci = pci.Trigger If pci.Trigger Is Nothing Then Exit While ' Output the PropID Debug.WriteLine(tabChars + "PropID = " + pci.PropId.ToString()) ' Output the Source If (pci.Source Is Nothing) Then Debug.WriteLine(tabChars + "Source Is Nothing") Else Debug.WriteLine(tabChars + "Source = " + pci.Source.ToString()) ' Output the Trigger If (pci.Trigger Is Nothing) Then Debug.WriteLine(tabChars + "Trigger Is Nothing") Else Debug.WriteLine(tabChars + "Trigger = " + pci.Trigger.ToString()) ' Get ready for the next recursion by increasing the indentation tabChars += tabChars End If End If End While End If End If Debug.WriteLine("**********CalendarInfoChanged event fired (end)**********") Debug.WriteLine("") End Sub
using System.Diagnostics; using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; private void ultraCalendarInfo1_CalendarInfoChanged(object sender, Infragistics.Win.UltraWinSchedule.CalendarInfoChangedEventArgs e) { //---------------------------------------------------------------------------------------------------- // Description // CalendarInfoChanged // // The CalendarInfoChanged event fires when any property of the UltraCalendarInfo object has changed. // Since the UltraCalendarInfo object has several object properties (e.g., ActiveDay, Appointments, etc.) // the CalendarInfoChangedEventArgs' PropChangeInfo object property can contain nested PropChangeInfo // objects, stored by the Trigger property. By walking up the parent chain recursively, a highly detailed // "recording" of the sequence of events that caused the property change notification can be produced. // //---------------------------------------------------------------------------------------------------- Debug.WriteLine( "**********CalendarInfoChanged event fired (begin)**********" ); PropChangeInfo pci = e.PropChangeInfo; // Output the PropID Debug.WriteLine( "PropID = " + pci.PropId.ToString() ); // Output the Source if ( pci.Source == null ) Debug.WriteLine( "Source = null" ); else Debug.WriteLine( "Source = " + pci.Source.ToString() ); // Output the Trigger if ( pci.Trigger == null ) Debug.WriteLine( "Trigger = null" ); else Debug.WriteLine( "Trigger = " + pci.Trigger.ToString() ); // Walk up the parent notification chain until we hit a null Trigger; // with each recursion, output information about the change to // the debugger, indenting each level for readability string tabChars = ((char)(9)).ToString(); while( pci.Trigger != null ) { // Recurse by getting the current Trigger's Trigger pci = pci.Trigger; if ( pci.Trigger == null ) break; // Output the PropID Debug.WriteLine( tabChars + "PropID = " + pci.PropId.ToString() ); // Output the Source if ( pci.Source == null ) Debug.WriteLine( tabChars + "Source = null" ); else Debug.WriteLine( tabChars + "Source = " + pci.Source.ToString() ); // Output the Trigger if ( pci.Trigger == null ) Debug.WriteLine( tabChars + "Trigger = null" ); else Debug.WriteLine( tabChars + "Trigger = " + pci.Trigger.ToString() ); // Get ready for the next recursion by increasing the indentation tabChars += tabChars; } Debug.WriteLine( "**********CalendarInfoChanged event fired (end)**********" ); Debug.WriteLine(""); }
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2