如何在winform列表框项目上添加工具提示

时间:2014-04-14 08:18:28

标签: .net vb.net winforms listbox tooltip

我正在使用win form的列表框控件。

我想在列表项上添加工具提示。我找不到任何默认的此类属性。

请与我分享,如何在winform列表框项目中添加工具提示?

谢谢

4 个答案:

答案 0 :(得分:1)

如果您想在列表框中执行此操作,则需要手动执行此操作。在表单中添加工具提示,并根据鼠标位置更新工具提示。更简单的方法可能是使用这样的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

答案 1 :(得分:1)

我想我提到ShowItemToolTips上有ListView布尔属性,如果你想使用它而不是ListBox。将该属性设置为true,然后在ToolTipText项目上分配ListView值。

答案 2 :(得分:0)

可悲的是,没有实现的方法在每个ListBox项目上显示工具提示。

您可以创建自己的ListBox控件,允许您这样做,如下所示: http://www.codeproject.com/Articles/457444/Listbox-Control-with-Tooltip-for-Each-Item

答案 3 :(得分:0)

我能够通过以下方式解决:

'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/ 感谢

相关问题