'宣言 Protected Overridable Sub OnBeforeSpin( _ ByVal e As BeforeSpinEventArgs _ )
protected virtual void OnBeforeSpin( BeforeSpinEventArgs e )
イベントが発生すると、デリゲートを通じてイベント ハンドラーが呼び出されます。
OnBeforeSpin メソッドを使用すれば、デリゲートを関連付けなくても、派生クラスでイベントを処理できます。これは、派生クラスでイベントを処理する際によく用いられる手法です。
継承時の注意: 派生クラスで OnBeforeSpin をオーバーライドする場合は、登録されたデリゲートがイベントを受信できるようにするため、必ず基本クラスの OnBeforeSpin メソッドを呼び出してください。
Private Sub ultraCalendarCombo1_BeforeSpin(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.BeforeSpinEventArgs) Handles ultraCalendarCombo1.BeforeSpin ' Use the BeforeSpinEventArgs' CurrentValue property ' to determine the control's current value If (Not e.CurrentValue Is Nothing) Then Dim dateVal As DateTime = e.CurrentValue Dim info As String = String.Empty ' Use the AfterSpinEventArgs' SpinDirection property ' to determine whether the up or down spin button was clicked Dim spinUp As Boolean = True If (e.SpinDirection = ScrollButton.Down) Then spinUp = False End If ' Use the NewDate property to determine what the date ' will be if the spin operation is not canceled Dim newDate As DateTime = e.NewDate ' If the up spin button was clicked, and the new date would be ' outside the current year, cancel the spin operation by setting ' the Cancel property to true. If (spinUp And newDate.Year <> DateTime.Today.Year) Then e.Cancel = True End If End If End Sub
private void ultraCalendarCombo1_BeforeSpin(object sender, Infragistics.Win.UltraWinSchedule.BeforeSpinEventArgs e) { // Use the BeforeSpinEventArgs' CurrentValue property // to determine the control's current value if ( e.CurrentValue is System.DateTime ) { DateTime dateVal = (DateTime)(e.CurrentValue); string info = string.Empty; // Use the AfterSpinEventArgs' SpinDirection property // to determine whether the up or down spin button was clicked bool spinUp = true; if ( e.SpinDirection == ScrollButton.Down ) spinUp = false; // Use the NewDate property to determine what the date // will be if the spin operation is not canceled DateTime newDate = e.NewDate; // If the up spin button was clicked, and the new date would be // outside the current year, cancel the spin operation by setting // the Cancel property to true. if ( spinUp && newDate.Year != DateTime.Today.Year ) e.Cancel = true; } }