Mostrar iconos en un control ListView con VB.NET

Hola amantes de StackOverflow!

En este artículo os traigo un ejemplo muy sencillo para que podáis mostrar iconos en un control ListView de forma fácil, llamando a un subrutina al pulsar un control de tipo Button.

Para ello necesitaremos poner un control Listview, un control ImageList y un control de tipo botón en nuestro formulario.

La propiedad View de nuestro ListView debe estar puesta en Details y en la propiedad SmallImageList seleccionamos el control ImageList1, también deberemos agregarle al menos una columna.

Listview iconos vb.net

Por otro lado la propiedad ColorDepth del control ImageList1 debe estar en Depth24Bit o Depth32Bit para que el icono se vea bien y no nos salga pixelado o con colores feos.

Iconos ListView

Cómo último paso, agregaremos un par de iconos al control ImageList1, que nos quedaría de este modo:

iconos en listview vb.net

Ahora copiamos esta subrutina dentro del código de nuestro formulario. Esta subrutina lo que hace es crear un objeto de tipo ListViewItem llamado objItem con el texto que le pasemos mediante la variable ItemText y posteriormente le asigna la propiedad ImageIndex usando el íntegro que le pasemos en la variable IconImage:

Y dentro del evento Click del botón Button1 pegamos este código para que nos quede así:

Ahora, si compilamos nuestro programa y lo arrancamos podremos pulsar el botón y veremos que ahora los ítems de nuestro listview muestran un icono en el lado izquierdo.

listview con iconos en vb.net
 

Mostrar iconos en un subitem del control ListView

Si lo que queremos es mostrar un icono en algún subitem del control Listview1 la cosa cambia un poco, pero sigue siendo muy fácil. Lo primero que haremos será agregar más columnas al control ListView1 y poner la propiedad OwnerDraw como True, luego modificaremos el código de la subrutina para agregar algún texto en los subitems. Nos quedaría de este modo:

Dentro del evento Click del control Button1 ponemos este código para que nos quede así:

Y dentro del evento DrawSubItem del control ListView1 ponemos este código:

Si lo dejamos así tal cual, no se nos van a dibujar las columnas del control ListView1 así que también deberemos poner este código en el evento DrawColumnHeader:

Nuestro programa ya debería mostrar iconos en los subitems de este modo:

Mostrar iconos en los subitems de un ListView

Si te ha gustado este pequeño tutorial no olvides puntuarlo y compartirlo en tus redes sociales. Gracias por visitar mi blog y nos vemos en el próximo tutorial!.

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)

1 comentario en «Mostrar iconos en un control ListView con VB.NET»

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.