Как увидеть элементы в ListBox Длиннее, чем ширина элемента управления

У меня есть список с определенными размерами
Некоторые элементы имеют логарифмическую ширину, превышающую ширину элемента управления ListBox.
Когда я навожу указатель мыши на эти элементы, я хочу видеть все имена. Я использую vb.net


person Lefteris Gkinis    schedule 13.11.2013    source источник
comment
Вы хотите, чтобы всплывающая подсказка показывала полное текстовое значение элемента?   -  person nstosic    schedule 13.11.2013


Ответы (1)


Попробуй это:

Private Sub ListBox1_MouseMove (ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseMove
    Dim ListMousePosition As Point = Me.ListBox1.PointToClient(Me.MousePosition)
    Dim itemIndex As Integer = Me.ListBox1.IndexFromPoint(ListMousePosition)
    If itemIndex > -1 Then
        Dim s As String = Me.ListBox1.Items(itemIndex).ToString()
        Dim g As Graphics = Me.ListBox1.CreateGraphics()
        If g.MeasureString(s, Me.ListBox1.Font).Width > Me.ListBox1.ClientRectangle.Width Then
        Me.ToolTip.SetToolTip(Me.ListBox1, s)
        else
        Me.ToolTip.SetToolTip(Me.ListBox, "")
        End If
        g.Dispose()
    End If
End Sub
person nstosic    schedule 13.11.2013
comment
Хорошо, мне удалось поиграть с ним. Это фантастика.. даже мигает!!! Я не понимаю, почему это!! - person Lefteris Gkinis; 14.11.2013