'Declaration Protected Overridable Sub OnBeforeSelectedNotesChange( _ ByVal e As BeforeSelectedNotesEventArgs _ )
protected virtual void OnBeforeSelectedNotesChange( BeforeSelectedNotesEventArgs e )
Raising an event invokes the event handler through a delegate.
The OnBeforeSelectedNotesChange 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 OnBeforeSelectedNotesChange in a derived class, be sure to call the base class's OnBeforeSelectedNotesChange method so that registered delegates receive the event.
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports System.Diagnostics Private Sub ultraCalendarInfo1_BeforeSelectedNotesChange(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.BeforeSelectedNotesEventArgs) Handles ultraCalendarInfo1.BeforeSelectedNotesChange '---------------------------------------------------------------------------------------------------- ' Description ' BeforeSelectedNotesChange ' ' Fires after one or more Note(s) are selected or deselected. ' '---------------------------------------------------------------------------------------------------- ' If the count of the NewSelectedNotes collection is greater than ' the count of the existing SelectedNotes collection, then new ' Notes have been selected Dim info As String = String.Empty If (e.NewSelectedNotes.Count > Me.ultraCalendarInfo1.SelectedNotes.Count) Then info += "The following Notes have been added to the selection:" + vbCrLf + vbCrLf If (Me.ultraCalendarInfo1.SelectedNotes.Count > 0) Then ' Iterate the NewSelectedNotes collection and get information on ' each new selection Dim newNote As Note For Each newNote In e.NewSelectedNotes ' Iterate the existing selected Notes, and see which ones are new ' to the collection Dim oldNote As Note For Each oldNote In Me.ultraCalendarInfo1.SelectedNotes If (newNote Is oldNote) Then Exit For Else ' If the existing Note exists in the SelectedNotes collection, ' then it is not really new to the user, so we won't list it as new. info += newNote.Description + " (" info += newNote.Date.ToLongDateString() + ")" + vbCrLf End If Next Next Else ' The count of the SelectedNotes collection was zero, so we don't ' have to check to see whether they already existed, just list them all Dim newNote As Note For Each newNote In e.NewSelectedNotes ' If the existing Note exists in the SelectedNotes collection, ' but not in the NewSelectedNotes collection, it has been deselected info += newNote.Description + " (" info += newNote.Date.ToLongDateString() + ")" + vbCrLf Next End If ElseIf (e.NewSelectedNotes.Count > 0) Then ' Otherwise, one or more existing Notes have been deselected info += "The following Notes have been removed from the selection:" + vbCrLf + vbCrLf ' Iterate the existing SelectedNotes collection and get information on ' each selection that is being removed Dim oldNote As Note For Each oldNote In Me.ultraCalendarInfo1.SelectedNotes ' Iterate the existing selected Notes, and see which ones are new ' to the collection Dim newNote As Note For Each newNote In e.NewSelectedNotes If (newNote Is oldNote) Then Exit For Else ' If the existing Note exists in the SelectedNotes collection, ' but not in the NewSelectedNotes collection, it has been deselected info += oldNote.Description + " (" info += oldNote.Date.ToLongDateString() + ")" + vbCrLf End If Next Next Else ' The selection has been cleared info += "The SelectedNotes collection is about to be cleared." + vbCrLf info += vbCrLf + vbCrLf + "Continue?" ' Display a MessageBox and prompt the end user to make sure they want to continue Dim result As DialogResult = MessageBox.Show(info, "BeforeSelectedNotesChange", MessageBoxButtons.YesNo) ' If the user does not want to continue, cancel the event If (result = DialogResult.No) Then e.Cancel = True End If End Sub
using System.Diagnostics; using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; private void ultraCalendarInfo1_BeforeSelectedNotesChange(object sender, Infragistics.Win.UltraWinSchedule.BeforeSelectedNotesEventArgs e) { //---------------------------------------------------------------------------------------------------- // Description // BeforeSelectedNotesChange // // Fires after one or more Note(s) are selected or deselected. // //---------------------------------------------------------------------------------------------------- // If the count of the NewSelectedNotes collection is greater than // the count of the existing SelectedNotes collection, then new // Notes have been selected string info = string.Empty; if ( e.NewSelectedNotes.Count > this.ultraCalendarInfo1.SelectedNotes.Count ) { info += "The following Notes have been added to the selection:" + "\n\n"; if ( this.ultraCalendarInfo1.SelectedNotes.Count > 0 ) { // Iterate the NewSelectedNotes collection and get information on // each new selection foreach( Note newNote in e.NewSelectedNotes ) { // Iterate the existing selected Notes, and see which ones are new // to the collection foreach( Note oldNote in this.ultraCalendarInfo1.SelectedNotes ) { if ( newNote == oldNote ) continue; else { // If the existing Note exists in the SelectedNotes collection, // then it is not really new to the user, so we won't list it as new. info += newNote.Description + " ("; info += newNote.Date.ToLongDateString() + ")" + "\n"; } } } } else { // The count of the SelectedNotes collection was zero, so we don't // have to check to see whether they already existed, just list them all foreach( Note newNote in e.NewSelectedNotes ) { info += newNote.Description + " ("; info += newNote.Date.ToLongDateString() + ")" + "\n"; } } } else if ( e.NewSelectedNotes.Count > 0 ) { // Otherwise, one or more existing Notes have been deselected info += "The following Notes have been removed from the selection:" + "\n\n"; // Iterate the existing SelectedNotes collection and get information on // each selection that is being removed foreach( Note oldNote in this.ultraCalendarInfo1.SelectedNotes ) { // Iterate the existing selected Notes, and see which ones are new // to the collection foreach( Note newNote in e.NewSelectedNotes ) { if ( newNote == oldNote ) continue; else { // If the existing Note exists in the SelectedNotes collection, // but not in the NewSelectedNotes collection, it has been deselected info += newNote.Description + " ("; info += newNote.Date.ToLongDateString() + ")" + "\n"; } } } } else { // The selection has been cleared info += "The SelectedNotes collection is about to be cleared." + "\n"; } info += "\n\n" + "Continue?"; // Display a MessageBox and prompt the end user to make sure they want to continue DialogResult result = MessageBox.Show( info, "BeforeSelectedNotesChange", MessageBoxButtons.YesNo ); // If the user does not want to continue, cancel the event if ( result == DialogResult.No ) e.Cancel = true; }
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