Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Avispon99 en 28 Noviembre 2017, 02:59 am



Título: Color de un String.Text en C#
Publicado por: Avispon99 en 28 Noviembre 2017, 02:59 am
Hola a Todos.

Estoy haciendo un programa de Form C#, pero necesito saber el comando para hacer la siguiente cosa..

Necesito que al cumplirse una condicion, el color de un String en un Label cambie de color. Por ejemplo algo como asi:  

Código:

if (condicion)
{

Label.TexT...//Aqui el label debe cambiar de color para que imprima el mensaje con dicho color.
Label.Text = " Hola Mundo";

}


No se si me hice entender pero simplemente necesito conocer el comando para cambiar el color de los textos del formulario en base a las condiciones, o mejor dicho cambiar colores de texto desde el codigo y no desde el diseño.



Título: Re: Color de un String.Text en C#
Publicado por: Eleкtro en 28 Noviembre 2017, 12:02 pm
En la tecnología WindowsForms, el color de texto lo puedes cambiar asignándole un nuevo valor a la propiedad heredada Label.ForeColor:
  • Control.ForeColor Property (https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.forecolor?view=netframework-4.7.1#System_Windows_Forms_Control_ForeColor)

Como color, por defecto el Form y todos los controles de .NET Framework utilizan los colores definidos en la clase SystemColors, cuyos valores/colores son variables dependendiendo de las modificaciones visuales (Windows Metrics) del sistema operativo donde se ejecute la aplicación:
  • SystemColors Class (https://docs.microsoft.com/en-us/dotnet/api/system.drawing.systemcolors?view=netframework-4.7.1)
( dicho de otra forma: lo que en un pc se puede ver como un Form de color blanco, en otro PC se podría ver negro, verde, fucsia, o de cualquier otro color... dependiendo de las modificaciones de color (Windows Metrics) del tema visual instalado en Windows. Por eso a veces si queremos asegurarnos que nuestro form o los controles se vean siempre de un color específico en cualquier PC, se debe evitar usar la clase SystemColors. )

Pero por supuesto puedes asignar un color específico e invariable, asignando los valores ARGB (Alpha Channel, Red, Green, Blue) de un color:
  • Color.FromArgb() Function (https://docs.microsoft.com/en-us/dotnet/api/system.drawing.color.fromargb?view=netframework-4.7.1#System_Drawing_Color_FromArgb_System_Int32_)
O también puedes especificar el valor hexadecimal o el nombre de un color html:
  • ColorTranslator.FromHtml() Function (https://docs.microsoft.com/en-us/dotnet/api/system.drawing.colortranslator.fromhtml?view=netframework-4.7.1#System_Drawing_ColorTranslator_FromHtml_System_String_)

Saludos.