バージョン

OnBeforeAppointmentRemoved メソッド

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

パラメータ

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

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

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

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

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

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

        '----------------------------------------------------------------------------------------------------
        '	説明
        '	BeforeAppointmentRemoved
        '
        '	予定がコンポーネントの Appointments コレクションから削除される前に発生します
        '	キャンセルされる場合、Appointment は削除されずに、AfterAppointmentRemoved イベントも発生しません
        '
        '----------------------------------------------------------------------------------------------------

        '	Appointment の開始日および終了日を取得し、
        '	複数日をまたぐかどうかを決定します
        Dim startDate As DateTime = e.Appointment.StartDateTime.Date
        Dim endDate As DateTime = e.Appointment.StartDateTime.Date

        If (endDate > startDate) Then
            '	Appointment の削除を回避するには、Cancel プロパティを
            '	True に設定します
            e.Cancel = True

            '	ユーザーに状態を出力します
            Dim info As String = String.Empty
            info += "You do not have sufficient permissions to remove multi-day appointments." + vbCrLf

            MessageBox.Show(info, "BeforeAppointmentRemoved", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If

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

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

			//----------------------------------------------------------------------------------------------------
			//	説明
			//	BeforeAppointmentRemoved
			//
			//	予定がコンポーネントの Appointments コレクションから削除される前に発生します
			//	キャンセルされる場合、Appointment は削除されずに、AfterAppointmentRemoved イベントも発生しません
			//
			//----------------------------------------------------------------------------------------------------
		
			//	Appointment の開始日および終了日を取得し、
			//	複数日をまたぐかどうかを決定します
			DateTime startDate = e.Appointment.StartDateTime.Date;
			DateTime endDate = e.Appointment.StartDateTime.Date;

			if ( endDate > startDate )
			{
				//	Appointment の削除を回避するには、Cancel プロパティを
				//	True に設定します
				e.Cancel = true;

				//	ユーザーに状態を出力します
				string info = string.Empty;
				info += "You do not have sufficient permissions to remove multi-day appointments." + "\n";

				MessageBox.Show( info, "BeforeAppointmentRemoved", MessageBoxButtons.OK, MessageBoxIcon.Error );
			}

		}
参照