Language:

Einträge als Tooltip anzeigen, wenn der Text zu lang ist

Language: Deutsch
Programming Language: VB.NET
Published by: Roland [not registered]
Last Update: 5/4/2006
Views: 1027

Description

"Ein scheinbar triviales Problem mit grossen Auswirkungen. Bis ich die paar wenigen Zeilen Code beisammen hatte, vergingen doch 2-3 Stunden Arbeit. Nun aber lasse ich Euch daran teilhaben.

Die Idee war, dass Texteinträge in Listboxen, die zu lange sind, als Tooltip automatisch als Tooltip angezeigt werden, wenn man mit der Maus darüber fährt.

Voraussetzung ist ein Tooltip Control auf dem Parent Form, welches hier im Beispiel tTip genannt ist."

Code

1 Private Sub Listbox_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove 2 3 Dim Index As Integer 4 5 'Bestimme den ausgewählten Index 6 Index = (e.Y \ sender.Font.Height) + sender.topindex 7 8 'Kontrolliere, ob über dem angeblichen Index auch wirklich ein Listeneintrag ist 9 If Index < sender.Items.Count Then 10 11 'Hole den Text 12 Dim itemtext As String = sender.Items.Item(Index).ToString 13 14 'Bestimme die Breite des Textes 15 Dim stringSize As SizeF = sender.creategraphics.MeasureString(itemtext, sender.findform.font) 16 17 'Vergleiche die Breite mit der Breite der Listbox und zeige ggf. den Tooltip an. 18 If stringSize.Width > sender.width Then 19 sender.FindForm.tTip.SetToolTip(sender, itemtext) 20 Else 21 sender.findform.ttip.settooltip(sender, "") 22 End If 23 24 End If 25 26 End Sub 27

No comments avaiable

Add a comment

Name *  

Email (won't be displayed) *    

Website  

Comment *  

Sicherheitscode Security Code *    

RSS