CLR: .Net / Mono / Boo / Otros CLR > C#

 comparar color de texto de usuario con un color en especial

(1/1)

picyo:

hola estoy haciendo la siguiente comparación:
 
--- Código: C# ---ColorDialog DlgColor = new ColorDialog();                    DlgColor.Color = cajaRespuesta1.ForeColor;                     if (DlgColor.ShowDialog() == DialogResult.OK)                    {                        cajaRespuesta1.ForeColor = DlgColor.Color;                                                if (cajaRespuesta1.Text == "negro" && cajaRespuesta1.ForeColor == System.Drawing.Color.FromArgb(255, 0, 0, 0))  El usuario cambia el color del texto de forma manual (  DlgColor.Color = cajaRespuesta1.ForeColor)
he usado la comparacion de System.Drawing.Color.FromArgb(255, 0, 0, 0) ( que es el color negro) ya que haciendo debugg, veo que la propiedad ForeColor  tiene el siguiente formato : "ctCorreccion1.ForeColor   "{Name=WindowText, ARGB=(255, 0, 0, 0)}"   
La unica forma de comparar que se me ha ocurrido ha sido esa, bueno, a parte de la de comparralo con el color negro "directamente" con System.Drawing.Color.Black. Ninguna de las dos formas me ha funcionado .
Creo que me acerco mas a la primera, ya que el debug al menos me da un formato para la creacion del color de 4 parámetros, el alpha, y los 3 colores básicos. El hecho que es que nunca me entra dentro del if, nunca el color es igual y no se como puedo hacerlo. Alguien podría decirme qué hago mal ?
gracias

gerloxxx:
Realmente no se bien como se representan los colores, creo que esa es la base para esto... pero observando que cuando conviertes un color a Argb te muestra un numero, use ese numero para comparar quedando algo asi:

cajaRespuesta1.ForeColor.ToArgb() == System.Drawing.Color.FromArgb(255,0,0,0).ToArgb ()

o asi:

cajaRespuesta1.ForeColor.ToArgb().Equals(System.Drawing.Color.FromArgb(255,0,0,0).ToArgb ())

esperemos alguna explicacion de alguien más experimentado, espero te sirva lo que te comento..

saludos

picyo:
Hola!!
Directamente he cojido la primera de las opciones y... ha ido genial ! Voy a ver si entiendo el procedimiento, además, pero oye, me ha funcionado chapeau! :)
Grácias!

Navegación

[0] Índice de Mensajes

Ir a la versión completa