none
Centrar a los datos de un listbox

    Pregunta

  • Hola a todos bueno mi consulta es como podría centrar o poner isquierda o derecha los datos de mi listbox 

    Si sabes poco, aprende. Si sabes mucho, enseña

    lunes, 20 de marzo de 2017 23:24

Respuestas

  • Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            ListBox1.DrawMode = DrawMode.OwnerDrawFixed
            ListBox1.Items.AddRange(New String() {"aaa", "bbbbbbbbb", "ccccc"})
        End Sub
    
        Private Sub ListBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles ListBox1.DrawItem
            Dim lb As ListBox = DirectCast(sender, ListBox)
    		
            e.DrawBackground()
            If Not e.Index < 0 Then
                e.Graphics.DrawString(lb.Items(e.Index), e.Font, SystemBrushes.FromSystemColor(e.ForeColor), e.Bounds, New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
            End If
            e.DrawFocusRectangle()
        End Sub
    End Class
    

    ---

    Osea, haces que los ítems del control sean pintados desde el formulario (el owner), poniendo la propiedad DrawMode en OwnerDraw.

    Luego en el argumento de tipo StringFormat, alíneas según los parámetros que quieras.



    martes, 21 de marzo de 2017 1:59