找回密码
 立即注册

QQ登录

只需一步,快速开始

chenke79

高级会员

23

主题

98

帖子

1687

积分

高级会员

积分
1687

活字格认证

chenke79
高级会员   /  发表于:2011-9-8 16:51  /   查看:6872  /  回复:2
回车事件是用MULTIROW的哪个方法?

另外,我在FORM LOAD里已经使用了下面两句,目的是把回车键转为TAB键..

            Me.GcMultiRow1.ShortcutKeyManager.Unregister(Keys.Enter)
            Me.GcMultiRow1.ShortcutKeyManager.Register(ViewMode.Default, SelectionActions.MoveToNextCell, Keys.Enter)

现在客户要求在MULTIROW的最下面一行的最后一个CELL里回车,要求把焦点移出到MULTILROW外的一个控件.

请问怎么处理?

2 个回复

倒序浏览
chenf1980
论坛元老   /  发表于:2011-9-9 13:51:00
沙发
在form里面
Protected Overrides Function ProcessCmdKey(..........)
   dim cell as GcMultirow1.currentCell
if typeof cell is 控件类型(比如TextBoxCellEditing) then
     if cell.index = GcMultirow1.rowcount -1 and cell.name = 定义的Cell名 then
           GcMultirow1.currentcell = nothing
           '聚焦到需要选中的控件
           代码。。。
           return true
    end if
end if
return mybase.processcmdkey(...)
end Function
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2011-11-7 08:06:00
板凳

回复 1# chenke79 的帖子

如果你用的是MultiRow6.0,可以直接使用以下代码:
  1. Me.GcMultiRow1.ShortcutKeyManager.Unregister(Keys.Enter)
  2.             Me.GcMultiRow1.ShortcutKeyManager.Register(ViewMode.Default, SelectionActions.MoveToNextCellThenControlAction, Keys.Enter)
复制代码
注意这段代码与你的代码的区别是使用了MoveToNextCellThenControlAction这个Action。

如果你使用的是MultiRow5.0,就必须自定义Action或者像2楼那样Overrides ProcessCmdKey
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部