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
関連トピック

 

 


© 2004-2015, GrapeCity inc. All rights reserved.