用户控件中未引发MouseEnter和MouseLeave事件
本文关键字:MouseEnter MouseLeave 事件 控件 用户 | 更新日期: 2023-09-27 17:59:44
问题如下:
- 我有一个简单的c#表单
- 我有一个简单的c#用户控件,其中包含一个图片框和其他按钮
- 我的表单包含用户控件的一个实例
- 我希望当用户在图片框中执行mouseEnter时,鼠标光标会发生变化,当用户执行mouseLeave of the picturebox时,鼠标会恢复正常
现在发生的事情是,这些事件根本没有发生。我在MouseOver、MouseEnter、MouseMove、MouseLeave等中设置了断点,但它们都没有被触发。这是我第一次在C#中遇到这个问题。
我认为这与"路由事件"有关,但我不明白。如果有另一种方法可以实现我正在做的事情,这也将被视为一种解决方案。重要的是,最终,用户控件将成为鼠标光标在其"领土"上的主控器。
提前感谢!
您正在使用哪些事件?UserController.MouseEnter
和UserController.MouseLeave
事件还是PictureBox.MouseEnter
和PictureBox.MouseLeave
事件?
如果鼠标直接通过PictureBox
进入用户控制器,则应使用后者作为PictureBox
将处理事件。
InBetween写道,PictureBox.MouseXXX
应该被激发。你可以把它们困在UserControl
里。
如果希望以UserControl
的名义触发事件,只需禁用PictureBox
即可。请注意,该事件将针对UserContrl上的任何鼠标位置而触发,而不仅仅是PictureBox。