Basta ya de buscar por todo internet ya que estás al sitio indicado, poseemos la respuesta que quieres y sin problemas.
Solución:
El color de la barra de progreso no se puede cambiar en c# a menos que los estilos visuales estén deshabilitados. Aunque el IDE ofrece cambiar el color, no observará ningún cambio de color ya que la barra de progreso tomará el estilo visual del sistema operativo actual. Puede optar para deshabilitar el estilo visual para toda su aplicación. Para hacer esto, vaya a la clase de inicio del programa y elimine esta línea del código
Application.EnableVisualStyles();
o use algún control de barra de progreso personalizado como este http://www.codeproject.com/KB/cpp/colorprogressbar.aspx
Buscar y eliminar Application.EnableVisualStyles();
de su aplicación.
usted puede encontrar muchos ejemplos de aquí
El rojo tiende a indicar errores o problemas; reconsidere usar rojo para indicar “contraseña segura”.
Además, debido a que está actualizando el color muchas veces en función de muchas coincidencias potenciales, sus colores no serán tan consistentes como le gustaría.
En su lugar, asigne a cada una de las condiciones un puntajey luego elige tu color según la puntuación total:
int score = 0;
if (txtPass.Text.Length < 4)
score += 1;
if (txtPass.Text.Length >= 6)
score += 4;
if (txtPass.Text.Length >= 12)
score += 5;
if (Regex.IsMatch(PassChar, @"[a-z]") && Regex.IsMatch(PassChar, @"[A-Z]"))
score += 2;
if (Regex.IsMatch(PassChar, @"[[email protected]#$%^&*?_~-();.+:]+"))
score += 3;
if (score < 2)
color = Color.Red;
else if (score < 6)
color = Color.Yellow;
else if (score < 12)
color = Color.YellowGreen;
else
color = Color.Green;
Tenga en cuenta el uso de una construcción else-if que a veces es más fácil que la proporcionada por el lenguaje switch
o case
declaración. (El C/C++ en particular es propenso a errores de software).
Si posees alguna desconfianza o forma de aclarar nuestro post te recordamos realizar una ilustración y con placer lo leeremos.