2011-06-20 12 views
1

を上げていない問題である。MouseEnterイベントとMouseLeaveイベントは、ここでユーザーコントロールに

  • 私は、単純なC#のフォーム
  • を持っている私は、ピクチャや他のボタンを含む単純なC#のユーザーコントロールを持っています。
  • 私のフォームには、ユーザーコントロールのインスタンスが1つ含まれています。
  • 私は、ユーザーが画像ボックスでmouseEnterを実行すると、マウスカーソルが変化し、ユーザーが画像ボックスのmouseLeaveを行うと、マウスは正常に戻ります。

ここで起こっていることは、イベントがまったく発生しないということです。 MouseOver、MouseEnter、MouseMove、MouseLeaveなどにブレークポイントを設定し、それらのどれも起動しません。 C#でこの問題が発生したのは初めてです。

「ルーティングされたイベント」とは関係がありますが、わかりません。私がやっていることを達成する別の方法がある場合、これも解決策とみなされます。重要なことは、最後に、ユーザーコントロールがマウスカーソルの「領域」上のマスターになることです。

ありがとうございます!

答えて

0

どのようなイベントを使用していますか? UserController.MouseEnterUserController.MouseLeaveイベント、またはPictureBox.MouseEnterイベントとPictureBox.MouseLeaveイベントですか?

マウスがPictureBoxから直接ユーザーコントローラーに入る場合は、PictureBoxがイベントを処理するため、後者を使用する必要があります。

+0

ええ、私はPictureBox.MouveEnterイベントを使用していましたが、実際は動作していました。私の問題は、私が2枚の絵の箱を持っていて、そのうちの1枚が他の絵の上にあったことでした。非常に初心者のエラー! –

0

InBetweenが書いているように、PictureBox.MouseXXXは発砲すべきです。 UserControlにそれらをトラップできます。

UserControlの代わりにイベントを発生させたい場合は、PictureBoxを無効にしてください。このイベントは、PictureBoxだけでなく、UserContrl上の任意のマウス位置で発生することに注意してください。

+0

入力いただきありがとうございます、他の答えで私のコメントを参照してください。 :) –

関連する問題