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 > C# > Colorear los elementos de un combo

Colorear los elementos de un combo (C#)

Con este código vamos a poder colorear el fondo de los elementos de un objeto de la clase ComboBox.

Supongamos un objeto llamado cmbEjemplo, de la clase ComboBox, con 3 ítems, y cada uno tendrá un color diferente. En el ejemplo se va a mantener el texto de cada uno de los ítems.

Tenemos que programar el evento DrawItem del objeto cmbEjemplo de la siguiente manera:

private void cmbEjemplo_DrawItem(object sender, DrawItemEventArgs e)
{
   switch (e.Index)
   {
      case 0:
         e.Graphics.FillRectangle(Brushes.Red, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
         e.Graphics.DrawString(cmbEjemplo.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
         break;
      case 1:
         e.Graphics.FillRectangle(Brushes.Green, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
         e.Graphics.DrawString(cmbEjemplo.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
         break;
      case 2:
         e.Graphics.FillRectangle(Brushes.Blue, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
         e.Graphics.DrawString(cmbEjemplo.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
         break;
   }
}

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