如何在winform列表框项目上添加工具提示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在winform列表框项目上添加工具提示相关的知识,希望对你有一定的参考价值。
我正在使用win form的列表框控件。
我想在列表项上添加工具提示。我找不到任何默认的此类属性。
请分享一下,如何在winform列表框项目中添加工具提示?
谢谢
答案
如果要在列表框中执行此操作,则需要手动执行此操作。在表单中添加工具提示,并根据鼠标位置更新工具提示。更简单的方法可能是使用这样的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
另一答案
我想我会提到ShowItemToolTips
上有一个ListView
布尔属性,如果你想使用它而不是ListBox
。将该属性设置为true
,然后在ToolTipText
项目上分配ListView
值。
另一答案
遗憾的是,没有实现的方法在每个ListBox项上显示工具提示。
您可以创建自己的ListBox控件,允许您这样做,如下所示:http://www.codeproject.com/Articles/457444/Listbox-Control-with-Tooltip-for-Each-Item
另一答案
我能够通过以下方式彻底解决:
'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/谢谢
以上是关于如何在winform列表框项目上添加工具提示的主要内容,如果未能解决你的问题,请参考以下文章