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);

}

 

以上,問題解決!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM