MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
指定したセルの矩形(位置、サイズ)情報を取得する

行列インデックスで指定されたセルの矩形(位置、サイズ)情報を取得することができます。 FpSpreadクラスのGetCellRectangleメソッド呼び出し時、対象となる行列インデックスを指定することで、セルの座標(矩形)情報が.NET FrameworkのRectangle構造体形式によって返されます。

以下のサンプルではCellClickイベントを実装し、引数e(CellClickEventArgsクラス)より参照した行列インデックスを当メソッドに渡すことで、クリックしたセルの矩形情報を取得する例を紹介しています。なお、固定行(列)上での取得方法については下記メモをご参照ください。

  • ヘッダセルの矩形情報は取得できません。
  • シート上の固定列や固定行は異なるビューポートとして存在しています。そのため、これらに属する行列上でのセル矩形情報を取得したい場合、当メソッド呼び出し時には引数の指定方法を独自に使い分ける必要があります。

    取得対象となるセル 引数の指定方法
    通常の行列上に存在 FpSpread1.GetCellRectangle(0, 0, RowIndex, ColumnIndex)
    固定行上に存在 FpSpread1.GetCellRectangle(-1, 0, RowIndex, ColumnIndex)
    固定列上に存在 FpSpread1.GetCellRectangle(0, -1, RowIndex, ColumnIndex)
    固定行且つ固定列上に存在 FpSpread1.GetCellRectangle(-1, -1, RowIndex, ColumnIndex)
    固定行(末尾行)上に存在 FpSpread1.GetCellRectangle(1, 0, RowIndex, ColumnIndex)
    固定列(末尾列)上に存在 FpSpread1.GetCellRectangle(0, 1, RowIndex, ColumnIndex)
    固定行(末尾行)且つ固定列(末尾列)上に存在 FpSpread1.GetCellRectangle(1, 1, RowIndex, ColumnIndex)

 private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
 {

   Console.WriteLine("クリックされたセルインデックス(" + e.Row.ToString() + "," + e.Column.ToString() + ")");

   //指定インデックス位置に存在する通常セルの座標(矩形)情報を取得します
   Rectangle r = fpSpread1.GetCellRectangle(0, 0, e.Row, e.Column);
   Console.WriteLine("X座標:" + r.Left.ToString());
   Console.WriteLine("Y座標::" + r.Top.ToString());
   Console.WriteLine("セルの幅:" + r.Width.ToString());
   Console.WriteLine("セルの高さ:" + r.Height.ToString());

 }
 Private Sub FpSpread1_CellClick(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles FpSpread1.CellClick

   Console.WriteLine("クリックされたセルインデックス(" + e.Row.ToString + "," + e.Column.ToString + ")")

   '指定インデックス位置に存在する通常セルの座標(矩形)情報を取得します
   Dim r As Rectangle = FpSpread1.GetCellRectangle(0, 0, e.Row, e.Column)
   Console.WriteLine("X座標:" + r.Left.ToString)
   Console.WriteLine("Y座標::" + r.Top.ToString)
   Console.WriteLine("セルの幅:" + r.Width.ToString)
   Console.WriteLine("セルの高さ:" + r.Height.ToString)

 End Sub

 

 


© MESCIUS inc. All rights reserved.