Tab,Enter键的使用
在MR的一行中有4个Cell,第一个Cell中输入数据,如果按Tab键,跳到第4个Cell,
如果按Enter键,跳到第2个Cell
我想把他写CellValldating里,可以实现吗 在Validating里不能实现这样的能力。
对于Tab键的移动顺序,可以通过设置Cell上的TabIndex属性来设置。如果希望按Tab键跳过某个Cell可以设置Cell上TabStop属性来完成。
对于Enter键,必须自定义一个Action。然后把Enter键指定到这个Action上。
Public Class CustomNextForEnterKey
Implements IAction
Public Function CanExecute(ByVal target As GcMultiRow) As Boolean Implements IAction.CanExecute
Return True
End Function
Public ReadOnly Property DisplayName() As String Implements IAction.DisplayName
Get
Return Me.ToString()
End Get
End Property
Public Sub Execute(ByVal target As GcMultiRow) Implements IAction.Execute
If target.CurrentCellPosition.CellIndex = 0 Then
target.CurrentCellPosition = New CellPosition(target.CurrentCellPosition.RowIndex, 1)
End If
End Sub
End Class
谢谢。
:) 不客气,很高兴能帮到你。 经常能:D 不好意思补充问一下,
如果按Tab键,第2个Cell,第3个Cell里存在数据跳到第4个Cell,
不存在数据跳到第2个Cell,
如果按Enter键,永远跳到第2个Cell 如果需要条件的话就要和Enter一样自己写Action来实现。用TabIndex和TabStop属性只能控制固定的顺序。 把你上面给的代码复制到一个新的Class.vb里,然后该怎么办呀,
怎么把Enter键或Tab键指定到这个Action上。
回复 8# junlingzhu2002 的帖子
GcMultiRow1.ShortcutKeyManager.Unregister(Keys.Enter)
GcMultiRow1.ShortcutKeyManager.Register(New CustomNextForEnterKey(), Keys.Enter)
不好意思,我还是不太明白,
按你给的代码追加后,按下Enter键后,
怎么什么反应都没有呀
页:
[1]
2