PowerTools MultiRow for Windows Forms 8.0J
選択モード

GcMultiRowコントロールはユーザーに対して2種類の選択モードを提供します。開発者は、選択セルの追加と削除、選択の判定、選択されたときのセルの外観を設定できます。ヘッダを使用したセルの選択は「ヘッダによるセル選択」を参照してください。
複数選択モード
既定の設定ではGcMultiRowコントロールは複数のセルの選択をサポートします。ユーザーは、セルのドラッグ、ヘッダのクリックまたは[Ctrl]キーを押した状態でセルをクリックまたはドラッグすることで複数のセルを選択できます。
次の図は複数選択モードにおいて、セルをドラッグした場合のイメージです。三角形のアイコンはマウスカーソルを示します。

[Ctrl]キーを押した状態でセルをクリックすると、連続しない範囲のセルを選択できます。

次のコードは、GcMultiRowコントロールを複数選択モードに設定します。

GcMultiRow1.MultiSelect = True
gcMultiRow1.MultiSelect = true;
単一選択モード
開発者は、ユーザーに対して単一のセル選択だけを許可するか、または複数のセル選択を許可するかを指定できます。単一選択モードを有効にするにはGcMultiRow.MultiSelectプロパティをFalseに設定します。

次のコードは、GcMultiRowコントロールを単一選択モードに設定します。

GcMultiRow1.MultiSelect = False
gcMultiRow1.MultiSelect = false;
選択セルの追加と削除
Cell.Selectedプロパティを使用するとセルを選択または選択解除できます。

GcMultiRow1.Rows(0).Cells(1).Selected = True
gcMultiRow1.Rows[0].Cells[1].Selected = true;

行の選択または選択解除を行うにはRow.Selectedプロパティ(Section.Selectedプロパティ)を使用します。

GcMultiRow1.Rows(0).Selected = True
gcMultiRow1.Rows[0].Selected = true;
すべてのセルの選択
すべてのセルを選択するには、SelectionActions.SelectAllプロパティを使用します。

GrapeCity.Win.MultiRow.SelectionActions.SelectAll.Execute(GcMultiRow1)
GrapeCity.Win.MultiRow.SelectionActions.SelectAll.Execute(gcMultiRow1);

選択の判定
セルや行が選択されているかどうかを判定するには、「選択されたセルおよび行を取得する」を参照してください。
選択されたときのセルの外観
セルが選択されたとき、選択状態を示すためにセルの背景色と前景色が変更されます。背景色と前景色はCellStyle.SelectionBackColorプロパティおよびCellStyle.SelectionForeColorプロパティが使用されますが、描画結果はセルの描画処理とスタイルの設定内容によって異なります。詳細は「セルのスタイル」を参照してください。
選択の反転
既に選択されたセルの状態を反転する、つまり選択範囲から特定のセルだけの選択を解除できるようにするには、GcMultiRow.AllowUserToReverseSelectプロパティをTrueに設定します。この場合、ユーザーは[Ctrl]キー+マウスクリックによって、既に選択したセルの選択状態を反転できます。

GcMultiRow1.AllowUserToReverseSelect = True
gcMultiRow1.AllowUserToReverseSelect = true;
[Shift]キーによる複数選択
[Shift]キーを押しながらマウスクリックで始点と終点を指定するか、[Shift]キーを押しながらカーソルキーを操作することで任意の範囲のセルを選択できるようにするには、GcMultiRow.AllowUserToShiftSelectプロパティをTrueに設定します。

GcMultiRow1.AllowUserToShiftSelect = True
gcMultiRow1.AllowUserToShiftSelect = true;

マウス操作だけを有効にして、キーボード操作を無効にするには、この操作に関連付けられているショートカットキーを削除します。

Imports GrapeCity.Win.MultiRow

GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftDown)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftLeft)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftPageDown)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftPageUp)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftRight)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToFirstCell)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToFirstCellInRow)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToFirstRow)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToLastCell)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToLastCellInRow)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToLastRow)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToNextRow)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToPreviousRow)
GcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftUp)
using GrapeCity.Win.MultiRow;

gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftDown);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftLeft);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftPageDown);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftPageUp);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftRight);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToFirstCell);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToFirstCellInRow);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToFirstRow);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToLastCell);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToLastCellInRow);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToLastRow);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToNextRow);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftToPreviousRow);
gcMultiRow1.ShortcutKeyManager.Unregister(SelectionActions.ShiftUp);
空白部分のクリックによるセクション選択
GcMultiRow.SelectRowWhenClickBlankAreaプロパティにTrueを設定すると、セクションの空白部分をクリックすることで、そのセクションを選択することができます。
  • 行セクションでは行単位で選択できます。
           

GcMultiRow1.SelectRowWhenClickBlankArea = True
                        
gcMultiRow1.SelectRowWhenClickBlankArea = true;
                            
参照

 

 


© 2008-2015 GrapeCity inc. All rights reserved.