请问个关于MouseHover的问题

CH_MARS 2007-07-31 03:10:45
在listView控件里有个MouseHover事件,很多人都用过,
我用这个事件来做鼠标悬停显示个按钮并且会显示ToolTip,
现在发现 如果鼠标不离开一直悬停在某一项上时会不停的触发MouseHover,
请问有什么办法解决,第一次悬停时候才触发,以后长时间悬停时不要触发MouseHover.
...全文
1285 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
CH_MARS 2007-07-31
  • 打赏
  • 举报
回复
hbxtlhx 谢谢你想的方法不错 我虽然没有完全用你的方法 我改了下 但大同小意。

还多谢lovingkiss 你后来说的方法和hbxtlhx 一样 只不过是vb写的

反正谢谢大家了!
北京的雾霾天 2007-07-31
  • 打赏
  • 举报
回复
没有?
你可以使用全局变量来代替。
lovingkiss 2007-07-31
  • 打赏
  • 举报
回复
实际上这点两种版本应该是一样的;
CH_MARS 2007-07-31
  • 打赏
  • 举报
回复
不好意思忘记说了 这项目用mv C# 2003做的 请问下楼上的朋友 m_Tip 是 ToolTip 控件吗?
如果是 那么在 2003里面的tooltip.tag是没有的
lovingkiss 2007-07-31
  • 打赏
  • 举报
回复
怎么可能啊,我在VS2005下实验的就是正常,这也说不过去阿

MouseHover 的一个典型用法是当鼠标悬停在控件周围指定区域(“悬停矩形”)上时显示工具提示。引发该事件所需的暂停时间(以毫秒为单位)由 MouseHoverTime 属性指定。

MouseHover 事件的定义和检测是与 MouseHoverSize 和 MouseHoverTime 属性相关联的。

鼠标事件按下列顺序发生:

MouseEnter

MouseMove

MouseHover / MouseDown / MouseWheel

MouseUp

MouseLeave

====================================================================
虽然是VB的代码,原理一样的,窗体的标题是改变了一次就不再改变了的。
Private Sub ListView1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.MouseHover
Me.Text = Now.ToString
End Sub
==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
Email:loving-kiss@163.com
优惠接单开发,收费带初学者,组件控件定制开发,成品源代码批发
联系方式:Q64180940(请清楚注明业务还是技术咨询) 全天在线
==================================================================
北京的雾霾天 2007-07-31
  • 打赏
  • 举报
回复
你可以对ToolTip的显示来控制,比如,如果在MouseHover事件里发现这一次的要显示的内容和上一次一样就不重新设置ToolTip的显示(比如使用Show或SetToolTip)。你可以把要显示的内容记到ToolTip的Tag属性里。比如:

protected override void OnMouseHover(EventArgs e)
{
string strData="要显示的内容";
if (!object.Equals(this.m_Tip.Tag, strData))
{
this.m_Tip.Tag = strData;
this.m_Tip.Show(strData, this, location, 5000);
}
}

然后在MouseMove里清除Tag属性:
protected override void OnMouseMove(MouseEventArgs e)
{
this.m_Tip.Tag = null;
}
MicroSoftor 2007-07-31
  • 打赏
  • 举报
回复
- -
yaoshuwen 2007-07-31
  • 打赏
  • 举报
回复
......
CH_MARS 2007-07-31
  • 打赏
  • 举报
回复
会啊 我用debug模式 鼠标放在某一项上的时候 如果不移开就会不停的触发MouseHover 郁闷呢
yaoshuwen 2007-07-31
  • 打赏
  • 举报
回复
......我想要楼主的功能.....

111,097

社区成员

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

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

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