DOBON.NETプログラミング掲示板過去ログ
マウスホイールの取得について
題名: マウスホイールの取得について
著者: caman
日時: 2007/01/15 11:17:39
ID: 18751
この記事の返信元:
(なし)
この記事への返信:
[18756]
Re[1]: マウスホイールの取得について
オノデラ
2007/01/15 12:18:02
[18757]
Re[1]: マウスホイールの取得について
Hongliang
2007/01/15 12:23:08
ツリーを表示
環境/言語:[windowsXP C# .NET Framework2.0]
分類:[.NET]
おはようございます。
http://vbdotnet.fc2web.com/csharp/mouse/Mouse02.htm
をみて
private void InitializeComponent()
{
//Image1
this.Image1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.Image1_MouseWheel);
}
を フォーム デザイナで生成されたコードに追加し
private void Image1_MouseWheel(object sender, MouseEventArgs e)
{
・・・・
・・・・
}
と書きましたが、取得できていません。
他に何かする必要があるのでしょうか。
指導お願いします。
題名: Re[1]: マウスホイールの取得について
著者: オノデラ
日時: 2007/01/15 12:18:02
ID: 18756
この記事の返信元:
[18751]
マウスホイールの取得について
caman
2007/01/15 11:17:39
この記事への返信:
(なし)
ツリーを表示
2007/01/15(Mon) 12:18:55 編集(投稿者)
たしか、対象コントロールにフォーカスがないとイベントが拾えなかったと思います。
この場合は「Image1(何のコントロールかはわかりませんが)」にフォーカスがある必要があります。
題名: Re[1]: マウスホイールの取得について
著者: Hongliang
URL:
http://hongliang.seesaa.net/
日時: 2007/01/15 12:23:08
ID: 18757
この記事の返信元:
[18751]
マウスホイールの取得について
caman
2007/01/15 11:17:39
この記事への返信:
[18758]
Re[2]: マウスホイールの取得について
caman
2007/01/15 12:40:22
[解決]
ツリーを表示
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.control.mousewheel(VS.80).aspx
を良く見ると、サマリに何気なく「コントロールにフォーカスがあるときに」と言う文言があることに気づくと思います。
PictureBox はフォーカスをもてないコントロールなので、必然的に MouseWheel は発生しないと言うことになります。
逆に、あるフォーカスを持てるコントロール(ListView とか TextBox)がフォーカスを持っている場合、そのコントロール上にマウスが存在していなくてもそのコントロールの MouseWheel イベントは発生します。
あと、フォーカスをもっているコントロールが存在しない場合は、コンテナコントロール(最上位は Form ですね)の MouseWheel イベントが発生します。
この仕様に則ってそれらしくコーディングする必要があるでしょう。
題名: Re[2]: マウスホイールの取得について
著者: caman
日時: 2007/01/15 12:40:22
ID: 18758
この記事の返信元:
[18757]
Re[1]: マウスホイールの取得について
Hongliang
2007/01/15 12:23:08
この記事への返信:
(なし)
ツリーを表示
■No18757に返信(Hongliangさんの記事)
> PictureBox はフォーカスをもてないコントロールなので、必然的に MouseWheel は発生しないと言うことになります。
知りませんでした。勉強になりました。
> 逆に、あるフォーカスを持てるコントロール(ListView とか TextBox)がフォーカスを持っている場合、そのコントロール上にマウスが存在していなくてもそのコントロールの MouseWheel イベントは発生します。
> あと、フォーカスをもっているコントロールが存在しない場合は、コンテナコントロール(最上位は Form ですね)の MouseWheel イベントが発生します。
> この仕様に則ってそれらしくコーディングする必要があるでしょう。
なるほど、MouseMoveイベント内でImage1.Foucs()で取得することができました。
オノデラさん、Hongliangさんありがとうございます。
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
おはようございます。
http://vbdotnet.fc2web.com/csharp/mouse/Mouse02.htm
をみて
private void InitializeComponent()
{
//Image1
this.Image1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.Image1_MouseWheel);
}
を フォーム デザイナで生成されたコードに追加し
private void Image1_MouseWheel(object sender, MouseEventArgs e)
{
・・・・
・・・・
}
と書きましたが、取得できていません。
他に何かする必要があるのでしょうか。
指導お願いします。