void Form1_Load(object sender, EventArgs e)
{
gcMultiRow1.Template = Template.Default;
gcMultiRow1.RowCount = 5;
// Register another action to a existent key. Unregister old key first.
this.gcMultiRow1.ShortcutKeyManager.Unregister(Keys.Enter);
// Register to new action.
this.gcMultiRow1.ShortcutKeyManager.Register(new EditThenMoveNextAction(), Keys.Enter);
// Register an action list. Select all first, and then, copy.
this.gcMultiRow1.ShortcutKeyManager.Register(new ActionList(SelectionActions.SelectAll, EditingActions.Copy), Keys.Control | Keys.Shift | Keys.C);
}
class EditThenMoveNextAction : Action
{
public override bool CanExecute(GcMultiRow target)
{
return true;
}
protected override void OnExecute(GcMultiRow target)
{
if (target.IsCurrentCellInEditMode == false && EditingActions.BeginEdit.CanExecute(target))
{
EditingActions.BeginEdit.Execute(target);
}
else
{
SelectionActions.MoveToNextCell.Execute(target);
}
}
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
gcMultiRow1.Template = Template.Default
gcMultiRow1.RowCount = 5
' Register another action to a existent key. Unregister old key first.
Me.gcMultiRow1.ShortcutKeyManager.Unregister(Keys.Enter)
' Register to new action.
Me.gcMultiRow1.ShortcutKeyManager.Register(New EditThenMoveNextAction(), Keys.Enter)
' Register an action list. Select all first, and then, copy.
Me.gcMultiRow1.ShortcutKeyManager.Register(New ActionList(SelectionActions.SelectAll, EditingActions.Copy), Keys.Control Or Keys.Shift Or Keys.C)
End Sub
Private Class EditThenMoveNextAction
Inherits Action
Public Overloads Overrides Function CanExecute(ByVal target As GcMultiRow) As Boolean
Return True
End Function
Protected Overloads Overrides Sub OnExecute(ByVal target As GcMultiRow)
If target.IsCurrentCellInEditMode = False AndAlso EditingActions.BeginEdit.CanExecute(target) Then
EditingActions.BeginEdit.Execute(target)
Else
SelectionActions.MoveToNextCell.Execute(target)
End If
End Sub
End Class