鼠标离开事件执行不及时怎么办?

杨友山
博客专家认证
2011-09-21 10:31:06
各位高手们,
我做了个小功能,一个panel鼠标离开的时候就隐藏自己,但是有时候鼠标在panel上,然后快速挪走鼠标,mouse_Leave事件根本都不执行,这是什么原因呢?只有稍微慢些挪走鼠标才执行,这真是让人纠结啊... ...

大家在做界面功能的时候有什么技巧没啊?
...全文
141 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
杨友山 2011-09-22
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
系统响应时间还可以呀,是不是其他地方的原因.
  • 打赏
  • 举报
回复
很纠结。。。。。
杨友山 2011-09-21
  • 打赏
  • 举报
回复
那咋整,有没其它好办法
bdmh 2011-09-21
  • 打赏
  • 举报
回复
消息循环也是需要时间的
funxu 2011-09-21
  • 打赏
  • 举报
回复
有可能是Lz在其他的鼠标事件中也写有代码,冲突了,变量溢出了等等
或者是鼠标根本没进入panel而是晃过去了
Tim_Andy 2011-09-21
  • 打赏
  • 举报
回复
private void OnMouseMove(object sender, MouseEventArgs e)
{
if ((e.X > 0) && (e.X < this.picture.Width)
&& (e.Y > 0) && (e.Y < this.picture.Height))
{
this.picture.BackgroundImage = this.bmpMouseOn;
SetCapture(this.picture.Handle);
this.Cursor = Cursors.Hand;
}
else
{
this.picture.BackgroundImage = this.bmpMouseNotOn;
ReleaseCapture();
this.Cursor = Cursors.Arrow;
}
}
ganlu423 2011-09-21
  • 打赏
  • 举报
回复
用JS+DIV,代替panel
杨友山 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 return_false 的回复:]
系统响应时间还可以呀,是不是其他地方的原因.
[/Quote]
我打断点,当快速移动鼠标时mouse_Leave确实没有执行。
再或者有没有别的方式可以实现 鼠标离开控件控件隐藏 这个功能呢?

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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