- PR -

コントロールの上にマウスカーソルがなくなったときにのイベントを取る方法は?

1
投稿者投稿内容
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2004-10-06 10:59
こんにちは。いつもお世話になってます。

今、VB.NET 2003でPictureBoxを継承して独自コンポーネントを作っています。
マウスカーソルがそのPictureBox上にあれば、PictureBoxのふちに四角枠を描画して、
マウスカーソルがPictureBoxから離れれば四角枠を描画しないというものを作ろうと
しています。

マウスカーソルがPictureBox上にある場合は、MouseMoveイベントが走るのですが、
PictureBox上から離れたというイベント処理をどのようにしたらよいのかが思いつ
きません。
苦肉の策で、MouseMoveイベント中に

Dim space As Integer = 10
If e.X > space And e.X < Me.Width - space And e.Y > space And e.Y < Me.Height - space Then
'カーソル上
Else
'カーソルはなれた
End If

という処理で対応しているのですが、マウス移動を高速にするとカーソルが離れたと
いう処理を取りこぼしてしまいます。
何かいい方法はないでしょうか?ご存知の方おられましたらよろしくお願いします。

kanai
ベテラン
会議室デビュー日: 2004/09/13
投稿数: 98
投稿日時: 2004-10-06 11:37
MouseMoveイベントではなく、MouseHover、MouseLeaveイベントで処理するのはいかがでしょうか?
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2004-10-06 13:13
こんにちは。
返答ありがとうございます。そのものズバリでうまくいきました。
ヘルプは探したのですが見落としていました。
1

スキルアップ/キャリアアップ(JOB@IT)