スプレッドのセル編集時にEnterキーのイベントを取得し、別の処理を行う
'フォームロードイベント Private Sub Form1_Load(sender As Object, e As System.EventArgs) fpSpread1.EditModePermanent = True ' 編集中セルの Enterキー押下による動作を無効とします。 Dim inputmap1 As FarPoint.Win.Spread.InputMap inputmap1 = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused) inputmap1.Put(New FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.None) End Sub 'スプレッドの編集開始イベント Private Sub fpSpread1_EditModeOn(sender As Object, e As System.EventArgs) ' 編集モードONの時、KeyDownイベントを取得する fpSpread1.EditingControl.KeyDown += New System.Windows.Forms.KeyEventHandler(AddressOf Me.fpSpread1_KeyDown) End Sub 'スプレッドの編集終了イベント Private Sub fpSpread1_EditModeOff(sender As Object, e As System.EventArgs) ' 編集モードOFFの時、KeyDownイベントの関連付けを解除 fpSpread1.EditingControl.KeyDown -= New System.Windows.Forms.KeyEventHandler(AddressOf Me.fpSpread1_KeyDown) End Sub 'キーダウンイベント Private Sub fpSpread1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) If e.KeyCode = Keys.Enter Then Console.WriteLine("EnterキーによるKeyDown") End If End Sub
本作品采用 知识共享署名-非商业性使用 2.5 中国大陆许可协议进行许可。 |