找回密码
 立即注册

QQ登录

只需一步,快速开始

junlingzhu2002

银牌会员

38

主题

150

帖子

3344

积分

银牌会员

积分
3344

活字格认证

junlingzhu2002
银牌会员   /  发表于:2012-3-14 16:00  /   查看:8359  /  回复:10
在MR的一行中有4个Cell,第一个Cell中输入数据,
如果按Tab键,跳到第4个Cell,
如果按Enter键,跳到第2个Cell
我想把他写CellValldating里,可以实现吗

10 个回复

倒序浏览
robert
金牌服务用户   /  发表于:2012-3-15 09:05:00
沙发
在Validating里不能实现这样的能力。
对于Tab键的移动顺序,可以通过设置Cell上的TabIndex属性来设置。如果希望按Tab键跳过某个Cell可以设置Cell上TabStop属性来完成。
对于Enter键,必须自定义一个Action。然后把Enter键指定到这个Action上。
  1.     Public Class CustomNextForEnterKey
  2.         Implements IAction
  3.         Public Function CanExecute(ByVal target As GcMultiRow) As Boolean Implements IAction.CanExecute
  4.             Return True
  5.         End Function
  6.         Public ReadOnly Property DisplayName() As String Implements IAction.DisplayName
  7.             Get
  8.                 Return Me.ToString()
  9.             End Get
  10.         End Property
  11.         Public Sub Execute(ByVal target As GcMultiRow) Implements IAction.Execute
  12.             If target.CurrentCellPosition.CellIndex = 0 Then
  13.                 target.CurrentCellPosition = New CellPosition(target.CurrentCellPosition.RowIndex, 1)
  14.             End If
  15.         End Sub
  16.     End Class
复制代码
回复 使用道具 举报
junlingzhu2002
银牌会员   /  发表于:2012-3-15 15:07:00
板凳
谢谢。
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2012-3-16 08:56:00
地板
不客气,很高兴能帮到你。
回复 使用道具 举报
junlingzhu2002
银牌会员   /  发表于:2012-3-16 10:29:00
5#
经常能
回复 使用道具 举报
junlingzhu2002
银牌会员   /  发表于:2012-3-19 09:56:00
6#
不好意思补充问一下,
如果按Tab键,第2个Cell,第3个Cell里存在数据跳到第4个Cell,
不存在数据跳到第2个Cell,
如果按Enter键,永远跳到第2个Cell
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2012-3-20 08:13:00
7#
如果需要条件的话就要和Enter一样自己写Action来实现。用TabIndex和TabStop属性只能控制固定的顺序。
回复 使用道具 举报
junlingzhu2002
银牌会员   /  发表于:2012-3-22 13:19:00
8#
把你上面给的代码复制到一个新的Class.vb里,然后该怎么办呀,
怎么把Enter键或Tab键指定到这个Action上。
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2012-3-23 15:03:00
9#

回复 8# junlingzhu2002 的帖子

  1. GcMultiRow1.ShortcutKeyManager.Unregister(Keys.Enter)
  2. GcMultiRow1.ShortcutKeyManager.Register(New CustomNextForEnterKey(), Keys.Enter)
复制代码
回复 使用道具 举报
junlingzhu2002
银牌会员   /  发表于:2012-3-26 10:47:00
10#
不好意思,我还是不太明白,
按你给的代码追加后,按下Enter键后,
怎么什么反应都没有呀
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部