.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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|