次のサンプルコードは、このメソッドを使用してセルのキーボード動作をカスタマイズする方法を示します。このサンプルコードは、
IEditingCellインタフェースに示されている詳細なコード例の一部を抜粋したものです。
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