バージョン

BeforeSelectedNotesChangeEventHandler デリゲート

UltraCalendarInfo.SelectedNotes への変更が発生する前に発生するイベントを処理するためのデリゲート。
シンタックス
'宣言
 
Public Delegate Sub BeforeSelectedNotesChangeEventHandler( _
   ByVal sender As Object, _
   ByVal e As BeforeSelectedNotesEventArgs _
) 
public delegate void BeforeSelectedNotesChangeEventHandler( 
   object sender,
   BeforeSelectedNotesEventArgs e
)

パラメータ

sender
e
使用例
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

        '----------------------------------------------------------------------------------------------------
        '	説明
        '	BeforeSelectedNotesChange
        '
        '	1 つ以上の Note が選択または選択解除された後に発生します
        '
        '----------------------------------------------------------------------------------------------------

        '	NewSelectedNotes コレクションのカウントは既存の
        '	SelectedNotes コレクションのカウントより大きいの場合、
        '	新しいメモが選択されました
        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
                '	NewSelectedNotes コレクションを繰り返し、
                '	各の新しい選択についての情報を取得します
                Dim newNote As Note
                For Each newNote In e.NewSelectedNotes

                    '	既存の選択されるメモを繰り返し、コレクションに追加した新しいメモを
                    '	決定します
                    Dim oldNote As Note
                    For Each oldNote In Me.ultraCalendarInfo1.SelectedNotes
                        If (newNote Is oldNote) Then
                            Exit For
                        Else

                            '	既存のメモは SelectedNotes コレクションに存在する場合、
                            '	ユーザーによって新しくないため、新しいとして表示しません
                            info += newNote.Description + " ("
                            info += newNote.Date.ToLongDateString() + ")" + vbCrLf
                        End If

                    Next
                Next

            Else
                '	SelectedNotes コレクションのカウントが 0 の場合、
                '	既に存在することを確認する必要がないため、すべてを表示します
                Dim newNote As Note
                For Each newNote In e.NewSelectedNotes
                    '	既存のメモが SelectedNotes コレクションに存在する場合、
                    '	NewSelectedNotes コレクションにない場合、選択解除されました
                    info += newNote.Description + " ("
                    info += newNote.Date.ToLongDateString() + ")" + vbCrLf
                Next
            End If
        ElseIf (e.NewSelectedNotes.Count > 0) Then

            '	そうでない場合、既存のメモの選択は解除されます
            info += "The following Notes have been removed from the selection:" + vbCrLf + vbCrLf

            '	既存の SelectedNotes コレクションを繰り返し、
            '	各解除されている選択についての情報を取得します
            Dim oldNote As Note
            For Each oldNote In Me.ultraCalendarInfo1.SelectedNotes
                '	既存の選択されているメモを繰り返し、コレクションに追加した新しいメモを
                '	決定します
                Dim newNote As Note
                For Each newNote In e.NewSelectedNotes
                    If (newNote Is oldNote) Then
                        Exit For
                    Else

                        '	既存のメモが SelectedNotes コレクションに存在し、
                        '	NewSelectedNotes コレクションには存在しない場合、選択は解除されます
                        info += oldNote.Description + " ("
                        info += oldNote.Date.ToLongDateString() + ")" + vbCrLf
                    End If
                Next

            Next
        Else
            '	選択がクリアされました
            info += "The SelectedNotes collection is about to be cleared." + vbCrLf



            info += vbCrLf + vbCrLf + "Continue?"

            '	エンド ユーザーに MessageBox を表示し、続行するかどうかを確認します
            Dim result As DialogResult = MessageBox.Show(info, "BeforeSelectedNotesChange", MessageBoxButtons.YesNo)

            '	続行しない場合、イベントをキャンセルします
            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)
		{
		
			//----------------------------------------------------------------------------------------------------
			//	説明
			//	BeforeSelectedNotesChange
			//
			//	1 つ以上の Note が選択または選択解除された後に発生します
			//
			//----------------------------------------------------------------------------------------------------

			//	NewSelectedNotes コレクションのカウントが既存の
			//	SelectedNotes コレクションのカウントより大きい場合、
			//	新しいメモが選択されます
			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 )
				{
					//	NewSelectedNotes コレクションを繰り返し、
					//	各新しい選択についての情報を取得します
					foreach( Note newNote in e.NewSelectedNotes )
					{
						//	既存の選択されたメモを繰り返し、コレクションに追加した新しいメモを
						//	決定します
						foreach( Note oldNote in this.ultraCalendarInfo1.SelectedNotes )
						{
							if ( newNote == oldNote )
								continue;
							else
							{
								//	既存のメモが SelectedNotes コレクションに存在する場合、
								//	ユーザーによって新しくないため、新しいとして表示しません
								info += newNote.Description + " (";
								info += newNote.Date.ToLongDateString() + ")" + "\n";
							}
						}
						
					}
				}
				else
				{
					//	SelectedNotes コレクションのカウントは 0 の場合、
					//	既に存在することを確認する必要がないため、すべてを表示します
					foreach( Note newNote in e.NewSelectedNotes )
					{
						info += newNote.Description + " (";
						info += newNote.Date.ToLongDateString() + ")" + "\n";
					}
				}
			}
			else
			if ( e.NewSelectedNotes.Count > 0 )
			{
				//	そうでない場合、既存のメモの選択は解除されます
				info += "The following Notes have been removed from the selection:" + "\n\n";

				//	既存の SelectedNotes コレクションを繰り返し、
				//	各解除されている選択についての情報を取得します
				foreach( Note oldNote in this.ultraCalendarInfo1.SelectedNotes )
				{
					//	既存の選択されたメモを繰り返し、コレクションに追加した新しいメモを
					//	決定します
					foreach( Note newNote in e.NewSelectedNotes )
					{
						if ( newNote == oldNote )
							continue;
						else
						{
							//	既存のメモが SelectedNotes コレクションに依存する場合、
							//	NewSelectedNotes コレクションにない場合、選択解除されました
							info += newNote.Description + " (";
							info += newNote.Date.ToLongDateString() + ")" + "\n";
						}

					}
					
				}
			}
			else
			{
				//	選択がクリアされました
				info += "The SelectedNotes collection is about to be cleared." + "\n";

			}

			info += "\n\n" + "Continue?";

			//	エンド ユーザーに MessageBox を表示し、続行するかどうかを確認します
			DialogResult result = MessageBox.Show( info, "BeforeSelectedNotesChange", MessageBoxButtons.YesNo );

			//	続行しない場合、イベントをキャンセルします
			if ( result == DialogResult.No )
				e.Cancel = true;
			
		}
参照