PowerTools SPREAD for Windows Forms 10.0J > 開発者ガイド > 編集、検証、選択、フォーカス > 選択 > 選択領域の処理 |
ユーザーがセル範囲を選択したときに、このセル範囲をシートの他のセルと区別できるように、他のセルと異なる背景色および前景色で表示できます。このセル範囲を選択領域と呼びます。選択領域には、コードで制御できる多数の属性があります。また、コードから選択領域を追加または削除でき、現在の選択領域を調べることもできます。ここでは、選択領域に対してコードから実行できる処理について説明します。
コードで実行する処理 | 使用するメンバ |
---|---|
選択領域の追加 | SheetViewクラスのAddSelectionメソッドを使用 |
選択されているすべてのセル範囲を取得 | SheetViewクラスのGetSelectionsメソッドを使用 |
特定の選択領域を参照 | SheetViewクラスのGetSelectionメソッドを使用を使用 |
選択領域をすべて解除 | SheetViewクラスのClearSelectionメソッドを使用 |
特定の選択領域を解除 | SheetViewクラスのRemoveSelectionメソッドを使用 |
アクティブセルの設定 | SheetViewクラスのSetActiveCellメソッドを使用 clearSelectionパラメータ(ブール型)で、他のすべての選択領域を選択解除するかどうかを設定します |
コントロールがフォーカスを失ったときに選択領域の強調表示を維持する | FpSpreadクラスのRetainSelectionBlockプロパティを使用 |
コントロールがフォーカスを取得したときにアクティブセルを移動する | FpSpreadクラスのMoveActiveOnFocusプロパティを使用 |
シートで選択状態が変化したときに処理を実装する | FpSpreadクラスのSelectionChangedイベントを使用 |
セル範囲を選択するには、シートの選択モデル(ISheetSelectionModelインタフェースを実装したクラス)のSetSelectionメソッドを使用する方法もあります。
次のサンプルコードは、シートの選択モデルを使用して、全セルを選択します。
C# |
コードのコピー
|
---|---|
fpSpread1.ActiveSheet.Models.Selection.SetSelection(0, 0, fpSpread1.ActiveSheet.RowCount, fpSpread1.ActiveSheet.ColumnCount); |
Visual Basic |
コードのコピー
|
---|---|
FpSpread1.ActiveSheet.Models.Selection.SetSelection(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount) |
ユーザーがヘッダをクリックして選択したときなど、行または列内の全セルが選択されているときには、DefaultSheetSelectionModelクラス(およびIDisjointSelectionインタフェース)のGetSelectionsメソッドは、RowCountおよびColumnCountプロパティの両方に対して-1を返します。
選択領域の基本モデルの詳細については、「Selection モデル」を参照してください。
選択領域を追加するには、SheetViewクラスのAddSelectionメソッドを使用して、必要なパラメータを指定します。
次のサンプル コードは、2つのセル範囲を選択します。
C# |
コードのコピー
|
---|---|
// 複数のセル範囲の選択を許可するようにシートを設定します。 fpSpread1.Sheets[0].SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.MultiRange; // C3からD4までのセルを選択します。 fpSpread1.Sheets[0].AddSelection(2, 2, 2, 2); // F6からH8までのセルを選択します。 fpSpread1.Sheets[0].AddSelection(5, 5, 3, 3); |
Visual Basic |
コードのコピー
|
---|---|
' 複数のセル範囲の選択を許可するようにシートを設定します。 FpSpread1.Sheets(0).SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.MultiRange ' C3からD4までのセルを選択します。 FpSpread1.Sheets(0).AddSelection(2, 2, 2, 2) ' F6からH8までのセルを選択します。 FpSpread1.Sheets(0).AddSelection(5, 5, 3, 3) |