vb.net - 如果我按住鼠标左键或右键,mouseenter 不起作用

标签 vb.net mouseevent mouseover mouseenter

我正在制作一款游戏,您用鼠标触摸某些方 block 即可得分,而其他方 block 则让您输掉游戏。我的 friend 发现了一个错误,如果您按住鼠标左键或右键,计算机将不会检测到 mouseenter 事件。任何帮助将不胜感激!

最佳答案

假设在 WinForms 中,当控件从用户按下鼠标按钮时获取 MouseDown 事件时,它会“捕获”从该时刻开始的鼠标输入,直到释放鼠标按钮为止。这用于提供 MouseUp 事件,即使鼠标移离控件也是如此。

您必须覆盖它,但有一个副作用:

Private Sub Panel1_MouseDown(sender As Object, e As MouseEventArgs) _
                                               Handles Panel1.MouseDown
  Panel1.Capture = False
End Sub

现在,除非鼠标直接位于控件上方,否则无法保证 MouseUp 事件一定会触发。

关于vb.net - 如果我按住鼠标左键或右键,mouseenter 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23342766/

相关文章:

asp.net - 根据存储过程中的非 bool 值检查 GridView 中的复选框

javascript - 如何检测是否在按下键盘按键的情况下单击了按钮? (按住 Ctrl 键单击、按住 Alt 键单击等)

c# - wpf 窗口边界外的光标移动事件

javascript - 向 d3.js 分层条形图添加工具提示

javascript - 悬停时用户菜单淡入淡出

c# - 控制中的单独事件

javascript - 根据选择更改所需输入的邮政编码

c# - 如何以wpf形式捕捉窗口关闭按钮(窗口右上角的红色X按钮)事件?

c# - 尝试 File.Move() 时处理打开的文件

python - .rect 上鼠标 'click' 时的 Pygame Action ?