回复 2楼iceman的帖子
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
FpSpread1.ActiveSheet.Columns.Count = 8
FpSpread1.ActiveSheet.SetActiveCell(0, 3)
FpSpread1.ActiveSheet.Columns(0).CanFocus = False
Dim im1 = FpSpread1.GetInputMap(InputMapMode.WhenFocused)
Dim am = FpSpread1.GetActionMap()
im1.Put(New Keystroke(Keys.Enter, Keys.None), "NewControlHomeAction")
am.Put("NewControlHomeAction", New NewControlHomeAction())
Dim im2 = FpSpread1.GetInputMap(InputMapMode.WhenAncestorOfFocused)
im2.Put(New Keystroke(Keys.Enter, Keys.None), "NewControlHomeAction")
End Sub
Public Class NewControlHomeAction
Inherits FarPoint.Win.Spread.Action
Public Overrides Sub PerformAction(ByVal sender As Object)
Dim sv As FarPoint.Win.Spread.FpSpread = Form1.FpSpread1
If sv.ActiveSheet.ActiveColumnIndex = 3 Then
sv.ActiveSheet.SetActiveCell(0, 6)
sv.EditModePermanent = True
ElseIf sv.ActiveSheet.ActiveColumnIndex = 6 Then
sv.ActiveSheet.SetActiveCell(0, 3)
sv.EditModePermanent = False
End If
End Sub
End Class
以上为测试代码,当跳回到第4列时,第四列单元格还是可编译的,这是为什么呢? |