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

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

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

Re[3]: PictureBox でマウスホイールのイベント


(過去ログ 49 を表示中)

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

■27135 / inTopicNo.1)  PictureBox でマウスホイールのイベント
  
□投稿者/ .NET練習中 (6回)-(2008/10/28(Tue) 19:53:23)

分類:[C++/CLI] 

こんにちわ。

PictureBox で、マウスホイールのイベントを起こしたいのですが、可能でしょうか?
MouseDown などのイベントは起るのですが、ホイールだけ来てくれません。
単にホイールで絵をスクロールさせたいだけなのですが…。

宜しくお願いいたします。

引用返信 編集キー/
■27139 / inTopicNo.2)  Re[1]: PictureBox でマウスホイールのイベント
□投稿者/ 紅の豚118 (15回)-(2008/10/28(Tue) 21:55:50)
C#なので参考になるかわかりませんが、こんなのがありました。

【マウスホイールによるパネルのスクロールを抑止 - Insider.NET】
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21310&forum=7

私の環境だと、マウスのホイールのイベントをフックできました。
引用返信 編集キー/
■27154 / inTopicNo.3)  Re[2]: PictureBox でマウスホイールのイベント
□投稿者/ .NET練習中 (7回)-(2008/10/29(Wed) 16:29:10)
紅の豚118 さん

回答ありがとうございました。
参考にしてみたいと思います。

ただ、PictureBox には MouseWheel のイベントがセットできるので、
何で来ないのだろう…と思っていました。
解決済み
引用返信 編集キー/
■27157 / inTopicNo.4)  Re[3]: PictureBox でマウスホイールのイベント
□投稿者/ 紅の豚118 (16回)-(2008/10/29(Wed) 19:31:22)
> ただ、PictureBox には MouseWheel のイベントがセットできるので、
> 何で来ないのだろう…と思っていました。

.NET練習中さんの投稿をみたときに、このイベントがあったような気がしたので、自分で使ってみたんですけど、同じようにきませんでした。
ただ、メタデータを確認(ソースコード上で上記のイベントの記述上でF12キーを押す)すると、このMouseWheelイベントはControlクラスのメンバであることと、
以下のような内容が確認できました。

//
// 概要:
// コントロールにフォーカスがあるときにマウス ホイールが動くと発生します。
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Advanced)]
public event MouseEventHandler MouseWheel;

このイベントはControlクラスを継承している、PictureBoxなども含めて、その他のコントロールにも継承されています。
ですが、コントロールにフォーカスがあるときだけに呼び出されるようです。
なので、おそらくフォーカスを取得しないようなPictureBoxみたいなコントロールだとイベントがこないのかなと考えています。
例えばComboBoxなんかだと、ちゃんとこのイベントでフックできます。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -