lunes, 29 de octubre de 2012

Csharp Colores en combo desplegable

COLORES EN COMBO DESPLEGABLE CSHARP

Hola a todos.

Aquí explico como aplicar formato de colores a los diferentes elementos de un control combo box, que los puedes utilizar tambien en controles de lista o list box.

Ejemplo 1


Vamos al código. (evento DrawItem)

private void combo1_DrawItem(object sender, DrawItemEventArgs e){
if (e.Index == -1)
return;
ComboBox combo = ((ComboBox)sender);
SolidBrush sa = new SolidBrush(e.ForeColor);
using (SolidBrush brush = new SolidBrush(e.ForeColor)){

Font font = e.Font;
Color micolor = e.ForeColor;
if (e.Index == 0){

//font = new System.Drawing.Font(font, FontStyle.Bold);sa = new SolidBrush(Color.Red);}

if (e.Index == 1){
sa = new SolidBrush(Color.Green);}
if (e.Index == 2){
sa = new SolidBrush(Color.Blue);}
if (e.Index == 3){
sa =new SolidBrush(Color.Yellow);}
if (e.Index == 4){
sa = new SolidBrush(Color.Orange);}
if (e.Index == 5){
sa = new SolidBrush(Color.Violet);}
if (e.Index == 6){
sa = new SolidBrush(Color.Black);}
if (e.Index == 7){
sa = new SolidBrush(Color.Brown);}
e.DrawBackground();
e.Graphics.DrawString(combo.Items[e.Index].ToString(), font, sa, e.Bounds);
e.DrawFocusRectangle();
}
}

Ahora solo configurar la siguiente propiedades del combo1

DrawMode en OwnerDrawFixed

y en el evento load del formulario

private void Form1_Load(object sender, EventArgs e)
{
combo1.Items.Add("Rojo");
combo1.Items.Add("Verde");
combo1.Items.Add("Azul");
combo1.Items.Add("Amarillo");
combo1.Items.Add("Naranja");
combo1.Items.Add("Violeta");
combo1.Items.Add("Negro");
combo1.Items.Add("Marrn");
}

Eso es todo, muy sencillo


Ejemplo 2



Vamos al código. (solo hago la muestra para los 6 primeros colores, evento DrawItem)

private void combo2_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(combo2.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
break;
case 1:
e.Graphics.FillRectangle(Brushes.IndianRed, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
e.Graphics.DrawString(combo2.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
break;
case 2:e.Graphics.FillRectangle(Brushes.MediumVioletRed, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
e.Graphics.DrawString(combo2.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
break;
case 3:e.Graphics.FillRectangle(Brushes.OrangeRed, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
e.Graphics.DrawString(combo2.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
break;
case 4:e.Graphics.FillRectangle(Brushes.PaleVioletRed, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
e.Graphics.DrawString(combo2.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
break;
case 5:e.Graphics.FillRectangle(Brushes.Green, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
e.Graphics.DrawString(combo2.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
break;}
}

Ahora solo configurar la siguiente propiedades del combo2

DrawMode en OwnerDrawFixed

y en el evento load del formulario

private void Form1_Load(object sender, EventArgs e)

{
combo2.Items.Add(
"Rojo");
combo2.Items.Add("Rojo indio");
combo2.Items.Add("Rojo violeta mediano");
combo2.Items.Add("Rojo naranja");
combo2.Items.Add("Rojo violeta palido");
combo2.Items.Add("Verde");
}

Eso es todo, muy sencillo

Espero sus comentarios

viernes, 11 de mayo de 2012

Exámenes y Prácticas

Ofimática, Desarrollo de Sistemas, Diseño Web.

Este es un blog, en donde estaré publicando material de trabajo que los puedan utilizar en su proceso de enseñanza aprendizaje para la construcción de aprendizajes significativos, espero compartir y recibir tus comentarios.


ID
Curso
Descripcion
Descarga
1Práctica 01Formato al documentoDescarga
1Práctica 02Formato al documentoDescarga
1Práctica 03Formato al documentoDescarga
Curso Fundamentos de Php
1Práctica 01Diseño HtmlDescarga
1Práctica 02Diseño FormularioDescarga
1Práctica 03Formulario inscripciónDescarga
1Examen 01Examen ParcialDescarga
1Examen 02Examen FinalDescarga
Curso Gestión de base de datos con MySql
1Práctica 01Clausula SelectDescarga
1Práctica 02Relaciones de tablasDescarga