MESCIUS SPREAD for Windows Forms 17.0J > 開発者ガイド > シートモデル > シートモデルのタイプ > Selection モデル |
Selectionモデルは、選択されたセル範囲に関する設定を保持します。Selectionモデルを形成するクラスは以下のとおりです。
基本クラス | BaseSheetSelectionModelクラス |
---|---|
デフォルトクラス | DefaultSheetSelectionModelクラス |
インタフェース | ISheetSelectionModelインタフェース |
シートのSelectionモデルを参照するには、SheetViewクラスのModelsプロパティでSheetView.DocumentModelsオブジェクトを参照し、Selectionプロパティを使用します。
基本クラスは、セルを選択状態にするSetSelectionメソッドや、シートの選択領域を追加、解除、および削除するためのAddSelection、ClearSelection、RemoveSelectionメソッドなどを提供します。
シートの既定の実装であるデフォルトクラスは、選択されたセル範囲を処理し、選択範囲の実際のセルおよびセル範囲の座標を格納します。SpreadViewオブジェクトはSheetViewオブジェクトのユーザーインタフェースを処理し、さまざまなイベントハンドラからSelectionモデルを更新します。
Selectionモデルは選択に関するデータを管理します。たとえば、クリックされたセル(選択範囲の開始セル)から、マウスカーソルが置かれたセルをもとに、選択範囲を計算します。SheetViewクラスのGetSelectionメソッド、およびSelectionCountプロパティは、ISheetSelectionModelインタフェースのインデクサ、およびCountプロパティをラップします。モデル内に選択領域が含まれていないとき、カウントは0で、GetSelectionメソッドはNullを返します。
たとえば、マウスの左ボタンが押されたとき、選択範囲の開始セルが設定され、アクティブセルが選択範囲となることがあります。そして、セルを編集し、[Esc]キーで編集をキャンセルした場合、またはマウスではなくキーボードからアクティブセルを変更した場合、Selectionモデルがクリアされることがあります。SheetViewクラスのGetSelectionメソッドを使用する前にはSelectionCountプロパティを確認し、この値が0の場合、ActiveColumnIndexおよびActiveRowIndexプロパティを使用してください。
選択領域を処理する方法については、「選択領域の処理」を参照してください。