【发布时间】:2014-05-28 02:59:18
【问题描述】:
我正在使用win表单的列表框控件。
我想在列表项上添加工具提示。我找不到任何默认的此类属性。
请分享我,如何在winform列表框项目上添加工具提示?
谢谢
【问题讨论】:
标签: .net vb.net winforms listbox tooltip
我正在使用win表单的列表框控件。
我想在列表项上添加工具提示。我找不到任何默认的此类属性。
请分享我,如何在winform列表框项目上添加工具提示?
谢谢
【问题讨论】:
标签: .net vb.net winforms listbox tooltip
我想我会提到ListView 上有一个ShowItemToolTips 布尔属性,如果你想使用它而不是ListBox。将该属性设置为true,然后为ListView 项目分配ToolTipText 值。
【讨论】:
我可以通过以下方式彻底解决:
'tooltip
Dim toolTip As ToolTip = New ToolTip()
Private Sub lstReports_MouseMove(sender As Object, e As MouseEventArgs) Handles lstReports.MouseMove
Dim index As Integer = lstReports.IndexFromPoint(e.Location)
If (index <> -1 AndAlso index < lstReports.Items.Count) Then
If (toolTip.GetToolTip(lstReports) <> lstReports.Items(index).ToString()) Then
toolTip.SetToolTip(lstReports, lstReports.Items(index).ToString())
End If
End If
End Sub
一个参考链接:
http://dotnetfollower.com/wordpress/2012/01/winforms-show-individual-tooltip-for-each-listbox-item/ 谢谢
【讨论】:
如果您想在列表框中执行此操作,则需要手动执行。向表单添加工具提示并根据鼠标位置更新工具提示。一种更简单的方法可能是使用这样的 DataGridView 控件:
DataGridView1.RowHeadersVisible = False
DataGridView1.ColumnHeadersVisible = False
DataGridView1.Columns(0).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCellsExceptHeader
Dim mydata As String() = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6"}
For Each dataitem As String In mydata
DataGridView1.Rows.Add(dataitem)
Next
For Each row As DataGridViewRow In DataGridView1.Rows
row.Cells(0).ToolTipText = "ToolTip for " & row.Cells(0).Value
Next row
【讨论】:
遗憾的是,没有实现在每个单独的 ListBox 项上显示工具提示的方法。
您可以创建自己的 ListBox 控件来执行此操作,如下所示: http://www.codeproject.com/Articles/457444/Listbox-Control-with-Tooltip-for-Each-Item
【讨论】: