バージョン

OnBeforeAppointmentAdded メソッド

AppointmentAppointments コレクションに追加される前に、BeforeAppointmentAdded イベントを発生させます。
シンタックス
'宣言
 
Protected Overridable Sub OnBeforeAppointmentAdded( _
   ByVal e As CancelableAppointmentEventArgs _
) 
protected virtual void OnBeforeAppointmentAdded( 
   CancelableAppointmentEventArgs e
)

パラメータ

e
イベントのデータを提供する CancelableAppointmentEventArgs
解説

イベントが発生すると、デリゲートを通じてイベント ハンドラーが呼び出されます。

OnBeforeAppointmentAdded メソッドを使用すれば、デリゲートを関連付けなくても、派生クラスでイベントを処理できます。これは、派生クラスでイベントを処理する際によく用いられる手法です。

継承時の注意: 派生クラスで OnBeforeAppointmentAdded をオーバーライドする場合は、登録されたデリゲートがイベントを受信できるようにするため、必ず基本クラスの OnBeforeAppointmentAdded メソッドを呼び出してください。

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

    Private Sub ultraCalendarInfo1_BeforeAppointmentAdded(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.CancelableAppointmentEventArgs) Handles ultraCalendarInfo1.BeforeAppointmentAdded

        '----------------------------------------------------------------------------------------------------
        '	説明
        '	BeforeAppointmentAdded
        '
        '	新しい予定がコンポーネントの Appointments コレクションに追加される前に発生します
        '	キャンセルされる場合、Appointment は追加されずに、AfterAppointmentAdded イベントも発生しません
        '
        '----------------------------------------------------------------------------------------------------

        If (e.Appointment.StartDateTime.DayOfWeek = System.DayOfWeek.Monday) Then
            '	Appointment の追加を回避するには、Cancel プロパティを
            '	True に設定します
            e.Cancel = True

            '	ユーザーに状態を出力します
            Dim info As String = String.Empty
            info += "Sorry, but we are no longer accepting new appointments on "
            info += e.Appointment.StartDateTime.DayOfWeek.ToString() + "s"

            MessageBox.Show(info, "BeforeAppointmentAdded", MessageBoxButtons.OK, MessageBoxIcon.Stop)
        End If

    End Sub
using System.Diagnostics;
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinSchedule;

		private void ultraCalendarInfo1_BeforeAppointmentAdded(object sender, Infragistics.Win.UltraWinSchedule.CancelableAppointmentEventArgs e)
		{		

			//----------------------------------------------------------------------------------------------------
			//	説明
			//	BeforeAppointmentAdded
			//
			//	新しい予定がコンポーネントの Appointments コレクションに追加される前に発生します
			//	キャンセルされる場合、Appointment は追加されずに、AfterAppointmentAdded イベントも発生しません
			//
			//----------------------------------------------------------------------------------------------------

			if ( e.Appointment.StartDateTime.DayOfWeek == System.DayOfWeek.Monday )
			{
				//	Appointment の追加を回避するには、Cancel プロパティを
				//	True に設定します
				e.Cancel = true;

				//	ユーザーに状態を出力します
				string info = string.Empty;
				info += "Sorry, but we are no longer accepting new appointments on ";
				info += e.Appointment.StartDateTime.DayOfWeek.ToString() + "s";

				MessageBox.Show( info, "BeforeAppointmentAdded", MessageBoxButtons.OK, MessageBoxIcon.Stop );
			}

		}
参照