0
我需要一些使用大圖標視圖的listview控件的幫助。我在我的listview控件中有圖標,當我將鼠標懸停在它們上面時,它會顯示一個自定義工具提示(而不是內置的listview工具提示)。在列表視圖背景中懸停時取消選擇listview項目
我的問題是,當我將鼠標懸停在列表視圖的背景中時,它不會取消選擇所選項目。我還希望縮短工具提示(如果可能的話),所以如果工具提示的目的是在5秒內可見並且有人在此時間前懸停在列表視圖的背景中,則會取消選擇該項目並且工具提示消失。
我的代碼目前看起來是這樣的:
Private Sub lsvStores_ItemMouseHover(sender As Object, e As ListViewItemMouseHoverEventArgs) Handles lsvStores.ItemMouseHover
Dim storeID As String = e.Item.Name
ShowStoreDetailsTooltip(storeID, sender, e.Item.Position.X, e.Item.Position.Y - 80)
End Sub
Private Sub lsvStores_MouseHover(sender As Object, e As EventArgs) Handles lsvStores.MouseHover
lsvStores.SelectedItems.Clear()
End Sub
Private Sub ShowStoreDetailsTooltip(ByVal Code As String, ByVal Obj As Control, ByVal XPos As
ttpStoreDetails.ToolTipTitle = StoreName
ttpStoreDetails.IsBalloon = True
ttpStoreDetails.Show(String.Empty, Obj, 0)
ttpStoreDetails.Show(tmpString, Obj, XPos, YPos, 5000)
End Sub
任何幫助表示讚賞感謝。
謝謝阿德里安,這已經完成了絕招。剛剛添加一行時,取消選擇所有物品移出物品時。我的問題是,是否可以使用相同的過程(lsvStores_MouseMove)來獲取項目並顯示工具提示,如果鼠標移動到實際項目上,還是需要使用原始ItemMouseHover過程來捕獲選定項目? – Riples
@ user2185200您可以使用相同的方法來捕獲鼠標移過實際項目。在這種情況下,你的'item'不會是'Nothing',因爲在鼠標光標下會有一個實際的'ListViewItem'。但是,這樣做的前提是,當客戶將鼠標懸停在項目上時,它會讓您的工具提示立即顯示出來,而不會像通過懸停一樣拖延。 – Adrian
如果'item'不是什麼,然後顯示工具提示,我試圖放入一個'else'語句,但是每彈動一下工具提示,我都會將鼠標移動到該項目上。我只需要它顯示,而不是每次都刷新。 – Riples