tonyjiaxing 发表于 2015-3-24 16:05:00

关于Multirow的光标问题

如图所示,这样的操作怎么实现?

Alice 发表于 2015-3-24 18:08:00

回复 1楼tonyjiaxing的帖子

MultiRow默认的Command是没有提供你需求中的行为。
因此你需要首先自定义Command来实现你的行为,这可以继承ICommand接口,实现自己的逻辑。

然后将Shift Tab键和你自定义的Command绑定,MultiRow有Shortcutkeys可以实现这点。

tonyjiaxing 发表于 2015-3-25 12:48:00

回复 2楼Alice的帖子

找不到ICommand接口,能否再说的详细一点

iceman 发表于 2015-3-25 16:58:00

回复 3楼tonyjiaxing的帖子

可以通过自定义 Action 来实现:

public class MyAction : GrapeCity.Win.MultiRow.Action
    {
      public override bool CanExecute(GcMultiRow target)
      {
            return true;
      }

      protected override void OnExecute(GcMultiRow target)
      {
            if (target.CurrentCellPosition.RowIndex == 0 && target.CurrentCellPosition.CellIndex == 3)
            {
                ComponentActions.SelectPreviousControl.Execute(target);
            }
            else
            {
                SelectionActions.MoveToPreviousCell.Execute(target);
            }
      }
    }


调用方法:

this.gcMultiRow1.ShortcutKeyManager.Register(new MyAction(), Keys.Shift | Keys.Tab);
页: [1]
查看完整版本: 关于Multirow的光标问题