PowerTools SPREAD for Windows Forms 8.0J > 開発者ガイド > キーボード操作 > 既定キーの変更 |
ユーザーによるキー入力が、コントロールでどのように処理されるかは、既定の入力マップで定義されています。
たとえば、既定の入力マップでは、ユーザーがアクティブセルで[Enter]キーを押すと、セルの編集状態が開始されます。そして、編集状態のセルで[Enter]キーが押されると、編集状態が終了します。対象のキーに別のアクションを割り当てることで、これらの既定の動作を変更できます。
次のサンプルコードは、[Enter]キーに割り当てられた既定の動作を変更します。[Enter]キーが押されると、セルが編集状態であってもなくても、アクティブセルを次の行に移動します。
C# |
コードのコピー
|
---|---|
private void Form1_Load(object sender, System.EventArgs e) { FarPoint.Win.Spread.InputMap im = new FarPoint.Win.Spread.InputMap(); // 編集中ではないセルで[Enter]キーが押下されたら次の行に移動する("Move to the next row")ように定義します。 im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused); im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextRow); // 編集中のセルで[Enter]キーが押下されたら次の行に移動する("Move to the next row")ように定義します。 im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused); im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextRow); } |
Visual Basic |
コードのコピー
|
---|---|
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim im As New FarPoint.Win.Spread.InputMap ' 編集中ではないセルで[Enter]キーが押下されたら次の行に移動する("Move to the next row")ように定義します。 im = FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused) im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextRow) ' 編集中のセルで[Enter]キーが押下されたら次の行に移動する("Move to the next row")ように定義します。 im = FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused) im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextRow) End Sub |