GrapeCity.Win.MultiRow.v80 アセンブリ > GrapeCity.Win.MultiRow 名前空間 > Cell クラス : OnKeyDown メソッド |
Protected Overridable Sub OnKeyDown( _ ByVal e As CellKeyEventArgs _ )
protected virtual void OnKeyDown( CellKeyEventArgs e )
イベントが発生すると、デリゲートを使用してイベントハンドラが呼び出されます。
OnKeyDownメソッドを使用すると、派生クラスでデリゲートを結び付けずにイベントを処理できます。派生クラスでイベントを処理する場合は、この手法をお勧めします。
継承時の注意:派生クラスでOnKeyDownをオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスのOnKeyDownメソッドを呼び出してください。
protected override void OnKeyDown(CellKeyEventArgs e) { // Handle key board message when editing state. if (this.GcMultiRow.CurrentCell.RowIndex == e.RowIndex && this.GcMultiRow.CurrentCell.CellIndex == e.CellIndex && this.GcMultiRow.IsCurrentCellInEditMode) { if (e.KeyData == Keys.Add || e.KeyData == Keys.Right) { this.EditingCellFormattedValue = _editingValue + 1; } else if (e.KeyData == Keys.Subtract || e.KeyData == Keys.Left) { this.EditingCellFormattedValue = _editingValue - 1; } base.OnKeyDown(e); } }
Protected Overloads Overrides Sub OnKeyDown(ByVal e As CellKeyEventArgs) ' Handle key board message when editing state. If Me.GcMultiRow.CurrentCell.RowIndex = e.RowIndex AndAlso Me.GcMultiRow.CurrentCell.CellIndex = e.CellIndex AndAlso Me.GcMultiRow.IsCurrentCellInEditMode Then If e.KeyData = Keys.Add OrElse e.KeyData = Keys.Right Then Me.EditingCellFormattedValue = _editingValue + 1 ElseIf e.KeyData = Keys.Subtract OrElse e.KeyData = Keys.Left Then Me.EditingCellFormattedValue = _editingValue - 1 End If MyBase.OnKeyDown(e) End If End Sub