今天在做一個酒店管理系統的時候用到了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);
}
以上,問題解決!