InicioApuntes Y MonografiasEstablecer colores a los elementos de un ComboBox con C#

Establecer colores a los elementos de un ComboBox con C#

Asi se verá el ComboBox:
Establecer colores a los elementos de un ComboBox con C#

Primero necesitamos crear un ComboBox personalizado, con este código:

using System;
using System.Windows.Forms;
using System.Drawing;
namespace TyroDeveloper
{
public class ComboBoxCustom:ComboBox
{
public ComboBoxCustom() {
this.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
}
protected override void OnDrawItem(DrawItemEventArgs e)
{
base.OnDrawItem(e);
e.DrawBackground();
ComboBoxItem item = (ComboBoxItem)this.Items[e.Index];
Brush brush = new SolidBrush(item.ForeColor);
if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
{ brush = Brushes.Yellow; }
e.Graphics.DrawString(item.Text, this.Font, brush, e.Bounds.X, e.Bounds.Y);
}
}
public class ComboBoxItem
{
public ComboBoxItem() { }

public ComboBoxItem(string pText, object pValue)
{
text = pText; val = pValue;
}

public ComboBoxItem(string pText, object pValue, Color pColor)
{
text = pText; val = pValue; foreColor = pColor;
}

string text = "";
public string Text {
get { return text; } set { text = value; }
}

object val;
public object Value {
get { return val; } set { val = value; }
}

Color foreColor = Color.Black;
public Color ForeColor {
get { return foreColor; } set { foreColor = value; }
}

public override string ToString()
{
return text;
}
}
}


Luego, para agregar elementos, este código:


comboBoxCustom1.Items.Add(new ComboBoxItem("México","0",Color.Green));
comboBoxCustom1.Items.Add(new ComboBoxItem("USA", "1", Color.Blue));
comboBoxCustom1.Items.Add(new ComboBoxItem("China", "2", Color.Red));


esta es la página otiginal:
http://www.tyrodeveloper.com/2012/04/color-in-combobox-item.html
Datos archivados del Taringa! original
0puntos
835visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

t
Usuario
Puntos0
Posts14
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.