編集中セルで左右矢印キーを押下した際に、列方向へアクティブセルを移動したい

文書番号 : 38973     文書種別 : 使用方法     登録日 : 2015/07/02     最終更新日 : 2015/07/02
文書を印刷する
対象製品
SPREAD for Windows Forms 8.0J
詳細
デフォルト設定では、左右矢印キーはセル内におけるキャレット移動に使用されます。テキスト型セルなどのAcceptsArrowKeys プロパティを使用することで、左右矢印キーを押下した際に、列方向へアクティブセルを移動することができます。

◎サンプルコード(VB)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
  '常時入力モードに設定します
  FpSpread1.EditModePermanent = True

  '==================
  '【デフォルト設定】
  '------------------
  '[矢印キー]:カーソルはセル内でのみ左または右に移動します
  '[Ctrl]+[矢印キー]:カーソルはセル内の小さなテキスト単位の1単位分だけ左または右に移動します
  '==================
  Dim tc1 As New FarPoint.Win.Spread.CellType.TextCellType
  tc1.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.AllArrows
  FpSpread1.ActiveSheet.Rows(0).CellType = tc1

  '==================
  '[矢印キー]:カーソルはセル内でのみ左または右に移動します
  '[Ctrl]+[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  '==================
  Dim tc2 As New FarPoint.Win.Spread.CellType.TextCellType
  tc2.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.Arrows
  FpSpread1.ActiveSheet.Rows(1).CellType = tc2

  '==================
  '[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  '[Ctrl]+[矢印キー]:カーソルはセル内の小さなテキスト単位の1単位分だけ左または右に移動します
  '==================
  Dim tc3 As New FarPoint.Win.Spread.CellType.TextCellType
  tc3.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.CtrlArrows
  FpSpread1.ActiveSheet.Rows(2).CellType = tc3

  '==================
  '[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  '[Ctrl]+[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  '==================
  Dim tc4 As New FarPoint.Win.Spread.CellType.TextCellType
  tc4.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.None
  FpSpread1.ActiveSheet.Rows(3).CellType = tc4

  FpSpread1.ActiveSheet.SetText(0, 1, "SPREAD")
  FpSpread1.ActiveSheet.SetText(1, 1, "for")
  FpSpread1.ActiveSheet.SetText(2, 1, ".NET")
  FpSpread1.ActiveSheet.SetText(3, 1, "Windows")
End Sub


◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
  //常時入力モードに設定します
  fpSpread1.EditModePermanent = true;

  //==================
  //【デフォルト設定】
  //------------------
  //[矢印キー]:カーソルはセル内でのみ左または右に移動します
  //[Ctrl]+[矢印キー]:カーソルはセル内の小さなテキスト単位の1単位分だけ左または右に移動します
  //==================
  FarPoint.Win.Spread.CellType.TextCellType tc1 = new FarPoint.Win.Spread.CellType.TextCellType();
  tc1.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.AllArrows;
  fpSpread1.ActiveSheet.Rows[0].CellType = tc1;

  //==================
  //[矢印キー]:カーソルはセル内でのみ左または右に移動します
  //[Ctrl]+[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  //==================
  FarPoint.Win.Spread.CellType.TextCellType tc2 = new FarPoint.Win.Spread.CellType.TextCellType();
  tc2.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.Arrows;
  fpSpread1.ActiveSheet.Rows[1].CellType = tc2;

  //==================
  //[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  //[Ctrl]+[矢印キー]:カーソルはセル内の小さなテキスト単位の1単位分だけ左または右に移動します
  //==================
  FarPoint.Win.Spread.CellType.TextCellType tc3 = new FarPoint.Win.Spread.CellType.TextCellType();
  tc3.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.CtrlArrows;
  fpSpread1.ActiveSheet.Rows[2].CellType = tc3;

  //==================
  //[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  //[Ctrl]+[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  //==================
  FarPoint.Win.Spread.CellType.TextCellType tc4 = new FarPoint.Win.Spread.CellType.TextCellType();
  tc4.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.None;
  fpSpread1.ActiveSheet.Rows[3].CellType = tc4;

  fpSpread1.ActiveSheet.SetText(0, 1, "SPREAD");
  fpSpread1.ActiveSheet.SetText(1, 1, "for");
  fpSpread1.ActiveSheet.SetText(2, 1, ".NET");
  fpSpread1.ActiveSheet.SetText(3, 1, "Windows");
}