C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: DataGridViewのセル内のマウスカーソルの座標


(過去ログ 126 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■74938 / inTopicNo.1)  DataGridViewのセル内のマウスカーソルの座標
  
□投稿者/ unkeitomo (2回)-(2015/02/11(Wed) 09:06:34)

分類:[.NET 全般] 

お世話になります。

DataGridViewのセル内に入ってきたマウスカーソルの座標を取得する方法はないでしょうか?
マウスカーソルが入ったセルを起点にした座標です。

DataGridView.PointToClientメソッドはDataGridViewコントロール全体での座標のようですし、
DataGridView.HitTestInfoメソッドもマウスが入った部分のCellの座標が取得されてるようです。

DataGridViewのボタン列をカスタマイズし、ボタンを小さく表示してそのボタンの上にマウスカーソルが
入った時に描画したり、クリックさせたりしたいと思っています。

よろしくお願い致します。
引用返信 編集キー/
■74939 / inTopicNo.2)  Re[1]: DataGridViewのセル内のマウスカーソルの座標
□投稿者/ Hongliang (278回)-(2015/02/11(Wed) 09:57:57)
DataGridView.GetCellDisplayRectangleで、DataGridViewのクライアント座標におけるそのセルの表示領域が取得できるので、それから計算してやれば良いんじゃないでしょうか。
引用返信 編集キー/
■74947 / inTopicNo.3)  Re[2]: DataGridViewのセル内のマウスカーソルの座標
□投稿者/ unkeitomo (4回)-(2015/02/12(Thu) 09:24:12)
No74939 (Hongliang さん) に返信
> DataGridView.GetCellDisplayRectangleで、DataGridViewのクライアント座標におけるそのセルの表示領域が取得できるので、それから計算してやれば良いんじゃないでしょうか。

DataGridView.PointToClienで取得した座標から、DataGridView.GetCellDisplayRectangleの座標を引くことで、セル内での座標がわかりました。
あと、DataGridViewButtonCellを継承したカスタムセルクラスでPaintメソッドをオーバーライドする際、引数のcellBoundsでもセルの座標がわかるので、同じ方法で計算出来ました。

ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -