jingyao 发表于 2016-7-8 11:10:53

multirow8.0 GcNumberCell光标闪动变成文字反选怎么实现

本帖最后由 jingyao 于 2016-7-8 12:01 编辑

GcNumberCell光标闪动变成文字反选怎么实现
Me.multITKWRK2.CurrentCell = Me.multITKWRK2.Rows(Me.multITKWRK2.CurrentRow.Index).Cells(16)
Me.multITKWRK2.Focus()
这么设置不好用

← key按下时
→ key按下时
← key按1下,表格编辑状态变为光标闪动,按2下时才移动到下一个cell

Alice 发表于 2016-7-8 14:21:49

问题我们收到了。
谢谢您的反馈。
测试后给您回复。

robert 发表于 2016-7-11 08:48:35

先定义两个自定义Action,代码如下
    class EditAndMoveLeft : GrapeCity.Win.MultiRow.Action
    {
      public override bool CanExecute(GcMultiRow target)
      {
            if(target.IsCurrentCellInEditMode)
            {
                return SelectionActions.MoveLeft.CanExecute(target);
            }
            else
            {
                return EditingActions.BeginEdit.CanExecute(target);
            }
      }

      protected override void OnExecute(GcMultiRow target)
      {
            if (target.IsCurrentCellInEditMode)
            {
                SelectionActions.MoveLeft.Execute(target);
            }
            else
            {
                EditingActions.BeginEdit.Execute(target);
            }
      }
    }

    class EditAndMoveRight : GrapeCity.Win.MultiRow.Action
    {
      public override bool CanExecute(GcMultiRow target)
      {
            if (target.IsCurrentCellInEditMode)
            {
                return SelectionActions.MoveRight.CanExecute(target);
            }
            else
            {
                return EditingActions.BeginEdit.CanExecute(target);
            }
      }

      protected override void OnExecute(GcMultiRow target)
      {
            if (target.IsCurrentCellInEditMode)
            {
                SelectionActions.MoveRight.Execute(target);
            }
            else
            {
                EditingActions.BeginEdit.Execute(target);
            }
      }
    }

然后把自定义Action注册给GcMultiRow
            this.gcMultiRow1.ShortcutKeyManager.Register(new EditAndMoveLeft(), Keys.Left);
            this.gcMultiRow1.ShortcutKeyManager.Register(new EditAndMoveRight(), Keys.Right);

jingyao 发表于 2016-7-11 10:18:39

谢谢提供的方法,但是我试了一下,动作还是没有变化,还是那个样子,需要特别设定什么属性吗

robert 发表于 2016-7-11 11:09:43

是否可以上传一个示例工程,我试着调试下,看为什么不工作
页: [1]
查看完整版本: multirow8.0 GcNumberCell光标闪动变成文字反选怎么实现