Lista de Colores

10/08/2004 - 01:19 por Ana | Informe spam
Hola a tod@s

Quiero meter en un RadioButtonList todos los colores del sistema, con un
bucle foreach pero no se que colección tengo que iterar.

¿Alguien me puede decir la colección que tengo que iterar?

Gracias

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral [MVP]
10/08/2004 - 16:09 | Informe spam
Se me a ocurrido que mendiante reflection... pero tiene que haber una forma
más sencilla digo yo...
Pero el ejemplo de abajo funciona...

/// <summary>
/// Summary description for Class1.
/// </summary>
class MainClass
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
foreach (PropertyInfo pi in typeof(Color).GetProperties(BindingFlags.Static
| BindingFlags.Public))
{
Type type = pi.ReflectedType;
if (type == typeof(Color))
{
Color c = (Color)type.InvokeMember(pi.Name,
BindingFlags.GetProperty |
BindingFlags.Static |
BindingFlags.Public,
null, null, null);
Console.WriteLine(c.Name);
}
}
}
}

Un saludo
Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net
Respuesta Responder a este mensaje
#2 Alejandro Perez
10/08/2004 - 17:09 | Informe spam
Hola Ana!!!

Como me gustan estos casos :p

Bueno... despues de darme unos 100 golpes con
System.Drawing.Color, KnownColor, y Array, aqui esta, una
lista de los colores:

KnownColor kc=new KnownColor();
Array arrColor = System.Enum.GetValues(kc.GetType());

for(int i&;i<arrColor.Length;i++)
{
Color objColor = Color.FromName(arrColor.GetValue
(i).ToString());
Response.Write(objColor.Name + ": <hr size='30'
color='" + objColor.Name + "'>");
}

Espero que exista una manera mas elegante!!! :(

Bye bye!
Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela

Hola a

Quiero meter en un RadioButtonList todos los colores


del sistema, con un
bucle foreach pero no se que colección tengo que iterar.

¿Alguien me puede decir la colección que tengo que iterar?

Gracias


.

Respuesta Responder a este mensaje
#3 Alejandro Perez
10/08/2004 - 18:02 | Informe spam
Excelente Rodrigo. Tambien pudiera ser por reflection.
Entonces quedaria algo asi:

foreach (PropertyInfo pi in typeof(Color).GetProperties
(BindingFlags.Static
| BindingFlags.Public))
{
Color objColor = Color.FromName(pi.Name);
Response.Write(objColor.Name + ": <hr size='30'
color='" + objColor.Name + "'>");
}

mmmmm te sirve Ana?
Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela


Se me a ocurrido que mendiante reflection... pero tiene


que haber una forma
más sencilla digo yo...
Pero el ejemplo de abajo funciona...

/// <summary>
/// Summary description for Class1.
/// </summary>
class MainClass
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
foreach (PropertyInfo pi in typeof(Color).GetProperties


(BindingFlags.Static
| BindingFlags.Public))
{
Type type = pi.ReflectedType;
if (type == typeof(Color))
{
Color c = (Color)type.InvokeMember(pi.Name,
BindingFlags.GetProperty |
BindingFlags.Static |
BindingFlags.Public,
null, null, null);
Console.WriteLine(c.Name);
}
}
}
}

Un saludo
Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net


.

Respuesta Responder a este mensaje
#4 Ana
10/08/2004 - 18:22 | Informe spam
Hola
Si que me ha servido muchas gracias, pero ahora necesito lo siguiente :
En una variable de tipo string tengo el nombre del color del texto que
quiero que tenga una label, es decir el ForeColor de la label. Pero para
poder establecerlo tengo que convertir este valor a System.Drawing.Color.
¿Como puedo hacer esto?
o si hay otra manera.


Esta puesto un poco mas abajo

Muchas gracias
Respuesta Responder a este mensaje
#5 Octavio Hernandez
10/08/2004 - 22:07 | Informe spam
Utiliza System.Drawing.Color.FromName(str).

Slds - Octavio

"Ana" escribió en el mensaje
news:%
Hola
Si que me ha servido muchas gracias, pero ahora necesito lo siguiente :
En una variable de tipo string tengo el nombre del color del texto que
quiero que tenga una label, es decir el ForeColor de la label. Pero para
poder establecerlo tengo que convertir este valor a System.Drawing.Color.
¿Como puedo hacer esto?
o si hay otra manera.


Esta puesto un poco mas abajo

Muchas gracias


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida