MouseLeave怎么老是失灵啊?

baidu_16788215 2014-07-05 09:48:23
Private Sub PictureBox1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
sender.BorderStyle = BorderStyle.Fixed3D
End Sub

Private Sub PictureBox1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs)
sender.BorderStyle = BorderStyle.None
End Sub

为什么快速移动,快速离开 有效果
把鼠标在图片上停留几秒 鼠标慢慢离开
没有效果呢?
...全文
328 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
geyewei 2014-07-08
  • 打赏
  • 举报
回复
简单来说是因为你设置了BorderStyle 。 BorderStyle.Fixed3D 和 BorderStyle.None 会导致PictureBox的 ClientRectangle 发生变化,缓慢移动鼠标的时候,就会发生楼主所说的现象了。 请楼主在窗体上加个Label1,然后在MouseMove和MouseLeave的事件处理代码中加上 Label1.Text = PictureBox1.ClientRectangle.ToString 执行起来以后快速移动鼠标,就能看到ClientRectangle发生了多少变化。 还有,PictureBox1_MouseLeave 后面缺少 Handles PictureBox1.MouseLeave,请楼主修改好代码再做实验。
落叶1210 2014-07-06
  • 打赏
  • 举报
回复
没有失灵 的问题,只能是某种原因导致没能触发。楼主只能多测试几次了。
wangnaisheng 2014-07-06
  • 打赏
  • 举报
回复
无涯大者 2014-07-06
  • 打赏
  • 举报
回复

    Private Sub PictureBox1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs)
        sender.BorderStyle = BorderStyle.None
    End Sub
这个事件丢失了,,,,, 在后面加上事件 PictureBox1.MouseLeave

    Private Sub PictureBox1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs)    Handles PictureBox1.MouseLeave
        sender.BorderStyle = BorderStyle.None
    End Sub
供参考!

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧