VB listbox zo breed als nodig

Status
Niet open voor verdere reacties.

luck7

Gebruiker
Lid geworden
10 feb 2009
Berichten
791
Hallo

Ik gebruik een Listbox in mijn VB Programma, maar de lengte van de tekst die daar in komt te staan verschilt afhankelijk van wat de gebruiker ingeeft.
daarom wil ik graag dat de listbox zo breed wordt gemaakt dat het langste item er volledig inpast.
alvast bedankt
Luck
 
Het enige dat ik kan bedenken is het op deze manier te doen:

PHP:
        Dim Longest As Integer = 0
        For Each a As String In ListBox1.Items
            If a.Length > Longest Then
                Longest = a.Length
            End If
        Next
        ListBox1.Width = Longest * 5

Ik denk dat je het een beetje moet aanpassen (die * 5) naar een cijfer dat de listbox perfect plaatst =)

Succes :)
 
Met deze code kun je de listbox aanpassen aan de breedste tekst in de listbox

Code:
        Dim MaxWidth As Long = 0
        For Each l As String In ListBox1.Items
            Dim stringFont As New Font(ListBox1.Font, ListBox1.Font.Size)
            Dim lbl As New Label

            ' Measure string.
            Dim g As Graphics = lbl.CreateGraphics
            Dim stringSize As New SizeF
            stringSize = g.MeasureString(l, stringFont)

            ' Set MaxWidth
            If stringSize.ToSize.Width > MaxWidth Then
                MaxWidth = stringSize.ToSize.Width
            End If
        Next

        'Set listbox width
        ListBox1.Width = MaxWidth
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan