'宣言 Protected Overridable Sub OnBeforeNoteRemoved( _ ByVal e As CancelableNoteEventArgs _ )
protected virtual void OnBeforeNoteRemoved( CancelableNoteEventArgs e )
イベントが発生すると、デリゲートを通じてイベント ハンドラーが呼び出されます。
OnBeforeNoteRemoved メソッドを使用すれば、デリゲートを関連付けなくても、派生クラスでイベントを処理できます。これは、派生クラスでイベントを処理する際によく用いられる手法です。
継承時の注意: 派生クラスで OnBeforeNoteRemoved をオーバーライドする場合は、登録されたデリゲートがイベントを受信できるようにするため、必ず基本クラスの OnBeforeNoteRemoved メソッドを呼び出してください。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports System.Diagnostics Private Sub ultraCalendarInfo1_BeforeNoteRemoved(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.CancelableNoteEventArgs) Handles ultraCalendarInfo1.BeforeNoteRemoved '---------------------------------------------------------------------------------------------------- ' 説明 ' BeforeNoteRemoved ' ' メモはコンポーネントの Notes コレクションから削除される前に発生します ' キャンセルされる場合、Note が削除されずに、AfterNoteRemoved イベントも発生しません ' '---------------------------------------------------------------------------------------------------- ' 日の Notes コレクションのカウントは 1 の場合、その日に 1 つのみの ' メモがあるため、削除を無効にし、ユーザーに通知します If (e.Note.Day.Notes.Count = 1) Then ' Note の削除を回避するには、Cancel プロパティを ' True に設定します e.Cancel = True ' ユーザーに状態を出力します Dim info As String = String.Empty info += "The day must have at least one note." + vbCrLf MessageBox.Show(info, "BeforeNoteRemoved", MessageBoxButtons.OK, MessageBoxIcon.Warning) End If End Sub
using System.Diagnostics; using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; private void ultraCalendarInfo1_BeforeNoteRemoved(object sender, Infragistics.Win.UltraWinSchedule.CancelableNoteEventArgs e) { //---------------------------------------------------------------------------------------------------- // 説明 // BeforeNoteRemoved // // メモはコンポーネントの Notes コレクションから削除される前に発生します // キャンセルされる場合、Note が削除されずに、AfterNoteRemoved イベントも発生しません // //---------------------------------------------------------------------------------------------------- // 日の Notes コレクションのカウントは 1 の場合、その日に 1 つのみの // メモがあるため、削除を無効にし、ユーザーに通知します if ( e.Note.Day.Notes.Count == 1 ) { // Note の削除を回避するには、Cancel プロパティを // True に設定します e.Cancel = true; // ユーザーに状態を出力します string info = string.Empty; info += "The day must have at least one note." + "\n"; MessageBox.Show( info, "BeforeNoteRemoved", MessageBoxButtons.OK, MessageBoxIcon.Warning ); } }