Listview: Item siempre visible

Siempre que se agregan nuevos elementos ListviewItems a un control listview, y estos son tantos que el control no tiene espacio suficiente para mostrarlos en pantalla, se agrega una barra de desplazamiento vertical. Esto está perfecto, solo que por default no se ven los nuevos items que se van agregando.

Hoy quiero mostrarles como solucionar este pequeño inconveniente.

Los controles de visual basic .net cono el listview nos brindan una cantidad impresionante de propiedades para su configuración, tantas que muchas veces se desconocen.

Quiero mostrarlo con un ejemplo muy sencillo. Para ello necesitaremos un formulario, un control listview y un botón.

listviewItemSiempreVisible001

Las propiedades que mas nos interesan son las siguientes:

  • HideSelection: la establecemos en false para que aunque el control listview no tenga el foco, sigamos viendo cual es el item seleccionado.
  • ListView1.FocusedItem.EnsureVisible() para forzar al item seleccionado a estar siempre visible.

Bueno, ahora si el código:

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ListView1.HideSelection = False
        ListView1.FullRowSelect = True
        ListView1.MultiSelect = False
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Static i As Integer = 0
        i += 1
        ListView1.Items.Add(New ListViewItem("Item número " & i))
        ListView1.Items(ListView1.Items.Count - 1).Selected = True
        ListView1.Items(ListView1.Items.Count - 1).Focused = True

        ListView1.FocusedItem.EnsureVisible()
    End Sub

Al ejecutarlo debería verse muy parecido a lo que se muestra en esta imagen:

listviewItemSiempreVisible002

Eso es todo, si te sirvió esta información, por favor, deja un comentario.



2 Responses to “Listview: Item siempre visible”

  1. Información Bitacoras.com…

    Valora en Bitacoras.com: Siempre que se agregan nuevos elementos ListviewItems a un control listview, y estos son tantos que el control no tiene espacio suficiente para mostrarlos en pantalla, se agrega una barra de desplazamiento vertical. Esto está…..

  2. MISTICO dice:

    Bueno todos sabemos q se muestren los datos pero a mi me interesaria q si pueden explicar como se guarden en un modulo aunq se sierre el programa

Comentar