问题描述
PrivateSubPictureBox1_MouseMove(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.MouseEventArgs)HandlesPictureBox1.MouseMovesender.BorderStyle=BorderStyle.Fixed3DEndSubPrivateSubPictureBox1_MouseLeave(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)sender.BorderStyle=BorderStyle.NoneEndSub为什么快速移动,快速离开有效果把鼠标在图片上停留几秒鼠标慢慢离开没有效果呢?
解决方案
解决方案二:
参考这篇文章
解决方案三:
PrivateSubPictureBox1_MouseLeave(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)sender.BorderStyle=BorderStyle.NoneEndSub
这个事件丢失了,,,,,在后面加上事件PictureBox1.MouseLeavePrivateSubPictureBox1_MouseLeave(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesPictureBox1.MouseLeavesender.BorderStyle=BorderStyle.NoneEndSub
供参考!
解决方案四:
没有失灵的问题,只能是某种原因导致没能触发。楼主只能多测试几次了。
解决方案五:
简单来说是因为你设置了BorderStyle。BorderStyle.Fixed3D和BorderStyle.None会导致PictureBox的ClientRectangle发生变化,缓慢移动鼠标的时候,就会发生楼主所说的现象了。请楼主在窗体上加个Label1,然后在MouseMove和MouseLeave的事件处理代码中加上Label1.Text=PictureBox1.ClientRectangle.ToString执行起来以后快速移动鼠标,就能看到ClientRectangle发生了多少变化。还有,PictureBox1_MouseLeave后面缺少HandlesPictureBox1.MouseLeave,请楼主修改好代码再做实验。