| 
 .NET TIPS DataGridコントロールでクリックされたセルの位置を取得するには?デジタルアドバンテージ2003/12/05  | 
![]()  | 
| 
 | 
|
DataGridコントロールで、クリックされたセルの位置、つまりセルの行番号と列番号を取得するには、DataGridクラス(System.Windows.Forms名前空間)のMouseDownイベントのイベント・ハンドラを作成し、そのハンドラのパラメータとして渡されるマウスのX座標とY座標がセルの何行何列目になるかを、DataGridクラスのHitTestメソッドを使って調べる。具体的には次のようなコードになる。
  | 
|
| クリックしたセルの位置を取得するMouseDownイベント・ハンドラ(C#) | |
HitTestメソッドの戻り値としては、DataGrid.HitTestInfoクラス(System.Windows.Forms名前空間)のオブジェクトが返される。そのオブジェクトのTypeプロパティを参照すると、クリックされた部分の種類(行ヘッダ、列ヘッダ、セルなど)を判別でき、この部分がセル(DataGrid.HitTestType.Cell)の場合には、そのRowプロパティで行番号を、Columnプロパティで列番号を取得できる。
上記のサンプル・プログラムを実行すると次のようになる。
![]()  | 
|||
| DataGridコントロールによるデータの一覧表示 | |||
 
  | 
表示されたDataGridコントロールのセルをクリックすると、セルの位置情報(行番号と列番号)がメッセージ・ボックスで表示される。なお、行と列の番号は0番から始まるので注意が必要だ。
![]()  | 
| セルの位置情報の表示 | 
| クリックされたセルの行番号と列番号が表示される。この例では5行1列目が表示されている。 | 
 なお、メッセージ・ボックスの表示については「TIPS:メッセージ・ボックスを表示するには」でまとめている。![]()
| カテゴリ:Windowsフォーム 処理対象:DataGridコントロール 使用ライブラリ:DataGridコントロール 関連TIPS:メッセージ・ボックスを表示するには  | 
| 「.NET TIPS」 | 
Insider.NET フォーラム 新着記事
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える 
 
  | 
 |







