Winform中ListView鼠标移动使用toolTip显示信息

今天在做一个酒店管理系统的时候用到了ListView,突然想到是否能够当鼠标移动到某一项的时候给出具体房间的信息呢!

首先设置Listview的MouseMove事件

1.获取当前坐标的项

 ListViewItem lvi = this.listView.GetItemAt(e.X, e.Y);

2.判断是否有选中的项,如果有即显示对应的信息

if(lvi != null)

{

  toolTip.show("Test",listView,new Point(e.X,e.Y),1000);

  toolTip.Active = true;

}

::这时出现了一个问题当鼠标放在某一个项上面的时候,信息在不断的闪速!原因是当鼠标不动的时候也会响应事件,所有加了如下代码就解决了问题

先定义一个变量private Point pointView = new Point(0, 0);//位置

然后在显示信息的时候先进行判断

if (pointView.X != e.X || pointView.Y != e.Y)//防止闪烁

{

  toolTip.show("Test",listView,new Point(e.X,e.Y),1000);

  pointView.X = e.X;

  pointView.Y = e.Y;

  toolTip.Active = true;

}else

{

  toolTip.Hide(listView);

  pointView = new Point(e.X,e.Y);

}

以上,问题解决!

原文地址:https://www.cnblogs.com/Garvan/p/ListView_ToolTip.html