バージョン

DisplayAppointmentDialogEventHandler デリゲート

UltraCalendarInfo.BeforeDisplayAppointmentDialog イベントを処理するためのデリゲート。
シンタックス
'宣言
 
Public Delegate Sub DisplayAppointmentDialogEventHandler( _
   ByVal sender As Object, _
   ByVal e As DisplayAppointmentDialogEventArgs _
) 
public delegate void DisplayAppointmentDialogEventHandler( 
   object sender,
   DisplayAppointmentDialogEventArgs e
)

パラメータ

sender
e
使用例
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinSchedule
Imports System.Diagnostics

	Private Sub ultraCalendarInfo1_BeforeDisplayAppointmentDialog(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.DisplayAppointmentDialogEventArgs) Handles ultraCalendarInfo1.BeforeDisplayAppointmentDialog
		'----------------------------------------------------------------------------------------------------
		'	説明
		'	BeforeDisplayAppointmentDialog
		'
		'	Appointment ダイアログが表示される前に発生します
		'	キャンセルされる場合、Appointment ダイアログが表示されずに、AfterDisplayAppointmentDialog イベントも発生しません
		'
		'----------------------------------------------------------------------------------------------------

		If Not e.IsExistingAppointment Then
			If e.Appointment.StartDateTime < DateTime.Today Then
				'	AppointmentDialog の表示を回避するには、Cancel プロパティを
				'	True に設定します
				e.Cancel = True

				'	ユーザーに状態を出力します
				Dim info As String = String.Empty
				info += "Sorry, but you cannot add new appointments in the past."

				MessageBox.Show(info, "BeforeDisplayAppointmentDialog", MessageBoxButtons.OK, MessageBoxIcon.Error)
			End If
		Else
			' ダイアログが既存の予定のために表示する
			' 必要があります

			' これは定期的な予定インスタンスの場合、
			If Not e.Appointment.RecurringAppointmentRoot Is Nothing Then
				' Outlook は、シリーズまたはインスタンスを編集する
				' かどうかを確認するプロンプトを表示しますUltraCalendarInfo では、 
				' イベント引数の 'RecurrenceEditType' を設定すると
				' 動作を処理できます
				'

				' 予定はバリアンス (変更したインスタンス) の場合、
				' インスタンスの情報を編集します
				If e.Appointment.IsVariance Then
					e.RecurrenceEditType = RecurrenceEditType.Occurrence
				Else			 'otherwise, let them edit the series so they don't create variances Then 
					e.RecurrenceEditType = RecurrenceEditType.Series
				End If
			End If
		End If
	End Sub
using System.Diagnostics;
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinSchedule;

		private void ultraCalendarInfo1_BeforeDisplayAppointmentDialog(object sender, Infragistics.Win.UltraWinSchedule.DisplayAppointmentDialogEventArgs e)
		{
			//----------------------------------------------------------------------------------------------------
			//	説明
			//	BeforeDisplayAppointmentDialog
			//
			//	Appointment ダイアログが表示される前に発生します
			//	キャンセルされる場合、Appointment ダイアログが表示されずに、AfterDisplayAppointmentDialog イベントも発生しません
			//
			//----------------------------------------------------------------------------------------------------

			if ( ! e.IsExistingAppointment )
			{
				if (e.Appointment.StartDateTime < DateTime.Today)
				{
					//	AppointmentDialog の表示を回避するには、Cancel プロパティを
					//	True に設定します
					e.Cancel = true;

					//	ユーザーに状態を出力します
					string info = string.Empty;
					info += "Sorry, but you cannot add new appointments in the past.";

					MessageBox.Show( info, "BeforeDisplayAppointmentDialog", MessageBoxButtons.OK, MessageBoxIcon.Error );
				}
			}
			else
			{
				// ダイアログが既存の予定のために表示する
				// 必要があります

				// これは定期的な予定インスタンスの場合、
				if (e.Appointment.RecurringAppointmentRoot != null)
				{
					// Outlook は、シリーズまたはインスタンスを編集する
					// かどうかを確認するプロンプトを表示しますUltraCalendarInfo では、 
					// イベント引数の 'RecurrenceEditType' を設定すると
					// 動作を処理できます
					//

					// 予定はバリアンス (変更したインスタンス) の場合、
					// インスタンスの情報を編集します
					if (e.Appointment.IsVariance)
						e.RecurrenceEditType = RecurrenceEditType.Occurrence;
					else //それ以外の場合、バリアンスを作成しないようにシリーズを編集します
						e.RecurrenceEditType = RecurrenceEditType.Series;
				}
			}
		}
参照