Desarrollo de Páginas Web, Aplicaciones Informáticas a medida, Posicionamiento Web en Internet (SEO), Accesibilidad web, Usabilidad

Imagen de la cabecera de www.webprogramacion.com
Inicio     Qué es webprogramacion.com     Mi currículum     Contacta conmigo    

Servicios

  • ¿Quieres aumentar el número de visitas de tu página web?
  • ¿Necesitas formación sobre algún tema tratado en webprogramacion.com?
  • ¿Quieres que imparta algún curso sobre algún tema tratado en la web?
  • ¿Quieres que revise la accesibilidad web de tu página?
  • ¿Buscas una aplicación a medida para tu empresa?
  • ¿Necesitas colaboración en tu proyecto?
  • Pide presupuesto sin compromiso
Escríbeme a través de la siguiente página y me pondré en contacto contigo.
webprogramacion.com > Programacion > VB.NET > Colorear los elementos de un combo

Colorear los elementos de un combo (VB.NET)

Con el siguiente código vamos a poder colorear el fondo de los elementos de un combo.
Supongamos que tenemos un combo llamado cboColor con 9 elementos sin texto. Simplemente queremos tener cada elemento coloreado de un color determinado.

Implementaremos el evento DrawItem del combo de la siguiente manera:

Private Sub cboColor_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles cmbColor.DrawItem
   Select Case e.Index
   Case 0
      'Blanco
      e.Graphics.FillRectangle(Brushes.White, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height)
   Case 1
      'azul
      e.Graphics.FillRectangle(Brushes.LightCyan, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height)
   Case 2
      'amarillo
      e.Graphics.FillRectangle(Brushes.Yellow, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height)
   Case 3
      'rosa
      e.Graphics.FillRectangle(Brushes.LightPink, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height)
   Case 4
      'gris
      e.Graphics.FillRectangle(Brushes.LightGray, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height)
   Case 5
      'naranja
      e.Graphics.FillRectangle(Brushes.Orange, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height)
   Case 6
      'verde claro
      e.Graphics.FillRectangle(Brushes.LightGreen, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height)
   Case 7
      'salmón
      e.Graphics.FillRectangle(Brushes.Salmon, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height)
   Case 8
      'rojo
      e.Graphics.FillRectangle(Brushes.Red, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height)
   End Select
End Sub

La idea es pintar un rectángulo opaco del color determinado, y que esté localizado en la posición exacta del elemento del cómbo. La posición y las dimensiones del ítem las obtenemos mediante e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height.

Nota: Debemos fijar la propiedad DrawMode del combo al valor OwnerDrawVariable.

Autor del artículo

Dámaso Velázquez

Etiquetas

combobox

Artículos relacionados

Compartir

  • www.webprogramacion.com
  • informatica[at]webprogramacion.com
  • Formación
  • Accesibilidad
  • Aplicaciones a medida
  • Presencia en Internet
  • Salamanca

Valid XHTML 1.0 Transitional  ¡CSS Válido!  TAW.Test de accesibilidad web