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

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

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

Re[2]: DataGridViewスクロールバー上のマウスカーソル検知


(過去ログ 116 を表示中)

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

■68500 / inTopicNo.1)  DataGridViewスクロールバー上のマウスカーソル検知
  
□投稿者/ きゃむ (1回)-(2013/10/24(Thu) 11:55:29)

分類:[C#] 

お世話になっております。

Visual C# 2008 にて開発をおこなっております。

DataGridViewの右側に縦スクロールバーが表示されている場合に、
そのスクロールバー上にマウスを重ねた瞬間にそのDataGridView高さを
変更したいと考えています。

イベントとして、DataGridViewのMouseEnterですとスクロールバーに関係なく
DataGridView自体にマウスを重ねた瞬間に発生してしまうので、
MouseMoveイベントの中でマウスのX座標を見て、右端のスクロールバー上に
あると判断できた場合にのみ処理をおこなうというようにしたのですが。。
どうやら、スクロールバー上ではDataGridViewのMouseMoveイベントが
発生しないようなのです。

この場合、どのようにすればスクロールバー上にマウスを重ねた瞬間に
イベントが発生させられるでしょうか。
引用返信 編集キー/
■68501 / inTopicNo.2)  Re[1]: DataGridViewスクロールバー上のマウスカーソル検知
□投稿者/ Hongliang (109回)-(2013/10/24(Thu) 12:52:29)
DataGridViewのControlsプロパティの中にはVScrollBarが含まれているようなので、それのマウスイベントを処理すれば不可能ではないでしょう。

// 個人的には触りたくないUIだな。
引用返信 編集キー/
■68520 / inTopicNo.3)  Re[2]: DataGridViewスクロールバー上のマウスカーソル検知
□投稿者/ きゃむ (2回)-(2013/10/25(Fri) 11:49:21)
No68501 (Hongliang さん) に返信
> DataGridViewのControlsプロパティの中にはVScrollBarが含まれているようなので、それのマウスイベントを処理すれば不可能ではないでしょう。


お返事ありがとうございます。
Hongliang様のアドバイスを元に実装することができました。
現在DataGridViewを継承したカスタムコントロールとして使用しているので、
カスタムコントロールに新しくVScrollBarMouseEnterというイベントを作成し
内部でVScrollBarのMouseEnterイベントと結びつけました。
どうもありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -