DevAdmin Blog

Blog di Ermanno Goletto (Microsoft MVP Directory Services - MCITP - MCTS - MCSA - MCP)
posts - 887, comments - 449, trackbacks - 13

My Links

News

Avatar

Curriculum Vitae

Visualizza il profilo di Ermanno Goletto su LinkedIn


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative Commons Deed


Logo SysAdmin.it SysAdmin.it Staff


Logo TechNet Forum TechNet Italia @ForumTechNetIt Follow TechNet Forum on Twitter


Logo MVP


Ermanno Goletto Follow ermannog on Twitter

Article Categories

Archives

Post Categories

Blogs

Friends

Knowledge Base

MVP Sites

Resources

ListView: visualizzare un ToolTip anche per i SubItem

Per impostazione predefinita se il ListView è impostato in modalità tabella (View = Detail) se si imposta di mostrare il ToolTip per gli item (ShowItemToolTips = True), questo verrà visualizzato solo sulla prima colonna o sulle colonne in cui il testo eccede la lunghezza.

Un modo veloce per visualizzate il ToolTip su tutte le colonne è quello di aggiungere alla Form un componente ToolTip, nel mio esempio tltListView e di gestirne la visualizzazione per le colonne diverse dalla prima (SubItem con indice diverso da 0) nell’evento MouseMove del ListView:

Private Sub lsvSystemInformation_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lsvSystemInformation.MouseMove
    If Me.lsvSystemInformation.Items.Count = 0 Then Return

    Dim ht = Me.lsvSystemInformation.HitTest(e.Location)

    If ht.Item IsNot Nothing AndAlso _
        Not String.IsNullOrEmpty(ht.Item.ToolTipText) AndAlso _
        ht.SubItem IsNot Nothing AndAlso _
        ht.Item.SubItems(0) IsNot ht.SubItem Then

        Me.tltListView.Show(ht.Item.ToolTipText, _
            Me.lsvSystemInformation, _
            e.Location.X, _
            ht.SubItem.Bounds.Bottom + ht.SubItem.Bounds.Height)
    Else
        Me.tltListView.Hide(Me.lsvSystemInformation)
    End If
End Sub

In realtà l’effetto non sarà perfetto perchè il ToolTip del ListView ha un’altezza maggiore.

image

image

Print | posted on Monday, November 14, 2011 10:01 AM | Filed Under [ Code, Snippets & Scripts Tips .NET ]

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 1 and 8 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET