我正在向ListViewItem添加工具提示。但是,只有在用戶將鼠標懸停在應用了工具提示的行的第一個單元格上時,纔會顯示工具提示。ListView工具提示只在第一個單元格 - VB.NET
MyListViewItem.ToolTipText = "Important Message"
其他唯一的代碼,我有相關的工具提示是這樣的:
MyListView.ShowItemToolTips = True
任何想法,我怎樣才能使工具提示顯示在連續特定的細胞,甚至整個行?謝謝。
我正在向ListViewItem添加工具提示。但是,只有在用戶將鼠標懸停在應用了工具提示的行的第一個單元格上時,纔會顯示工具提示。ListView工具提示只在第一個單元格 - VB.NET
MyListViewItem.ToolTipText = "Important Message"
其他唯一的代碼,我有相關的工具提示是這樣的:
MyListView.ShowItemToolTips = True
任何想法,我怎樣才能使工具提示顯示在連續特定的細胞,甚至整個行?謝謝。
如果你想不同於提到的DUP非包裝的回答,試試這個:
ListView控件FullrowSelect屬性必須是真實的。接下來,您需要存儲每個子項目的提示,我在子項目標記屬性中執行此操作。你想做什麼,是在listview mousemove事件上,你抓住鼠標下的項目,獲取它的子項目,並使用該提示。
這個簡單的例子告訴你如何獲得該子項目提示,你可以稍微破解一下以適應你的需求。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
lvw.ShowItemToolTips = True
lvw.Columns.Add("Column A")
lvw.Columns.Add("Column B")
lvw.Columns.Add("Column C")
lvw.Items.Add(New ListViewItem(New String() {"Colors", "Green", "Blue"}))
lvw.Items(0).SubItems(0).Tag = "See the other columns"
lvw.Items(0).SubItems(1).Tag = "Like grass"
lvw.Items(0).SubItems(2).Tag = "Like the sky"
End Sub
Function GetItemTip(ByVal list As ListView, ByVal e As System.Windows.Forms.MouseEventArgs) As String
Dim item As ListViewItem = list.GetItemAt(e.X, e.Y)
If Not IsNothing(item) Then
Dim si As ListViewItem.ListViewSubItem
si = item.GetSubItemAt(e.X, e.Y)
If Not IsNothing(si) Then
Return si.Tag.ToString
Else
Return ""
End If
Else
Return ""
End If
End Function
Private Sub lvw_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lvw.MouseMove
Me.Text = GetItemTip(CType(sender, ListView), e)
End Sub
重複:http://stackoverflow.com/questions/1328266/how-to-set-tooltips-on-listview-subitems-in-net – 2010-04-15 20:14:51
我正在尋找不同的解決方案。 – Lou 2010-04-16 15:36:07