回复 12楼robert的帖子
就是通过下面的代码,直接把Mr的快捷键注册了.这样回车键和Tab键相关的按键在编辑状态下就可以触发了.
不过回车键之类的动作要用代码完成.
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);
}
}
} |