CLR: .Net / Mono / Boo / Otros CLR > C#
ForeColor
(1/1)
picyo:
Hola, estoy con Visual C#, comparando la entrada del color de texto que insta un usuario. Quiero compararla con, por ejemplo, el negro, y en caso que el usuario haya elejido el negro, poner un signo de "aprobado" -un smiley :)-
Bien, pues he conseguido que el usuario, después de introducir el texto, cambie el color, en ambas cajas de texto, y mediante un botón ( botón cambia color) se cambie el color de la caja de texto actual.
El problema que tengo es al hacer la comparación de colores, nunca tengo éxito, y no se en que puedo fallar. Os paso el trozo de código en cuestión:
--- Código: C# --- private void bt_cambiaColor1_Click(object sender, EventArgs e) { try { if (CajaTextoGenerica == cajaRespuesta1) { ColorDialog DlgColor = new ColorDialog(); DlgColor.Color = cajaRespuesta1.ForeColor; if (DlgColor.ShowDialog() == DialogResult.OK) { cajaRespuesta1.ForeColor = DlgColor.Color; //ctCorreccion1.Text = ":)"; // comprobar Color if (cajaRespuesta1.ForeColor == Color.Black) { ctCorreccion1.Text = ":)"; } else { ctCorreccion1.Text = ":("; } } }
Este es un trozo, solo para la caja de texto1. De momento solo pruebo el color, y ma tarde ya probaría si ademas el usuario ha introducido el texto crrecto. Pero en fin, paso el debugger para ver los valores y no se muy bien que color es 255,0,0,0 ( creo que negro) entonces... ¿ Por qué no es correcto ?
Y una mas... ¿ cómo puedo limitar la paleta de colores que me proporciona "ShowDialog" ? Es decir, si sólo quiro que el usuario elija entre ( por ejemplo) negro y rojo.
Grácias
picyo:
es realmente complicado supongo, creo que estoy mezclando cosas, pero no estoy seguro. Por que no puedo usarlo de este modo ? he de compararlo con el RGB y el numero hexadecimal asociado ?
Navegación
Ir a la versión completa