1
resposta

[Sugestão] Melhoria na Label do formulário.

Segue uma pequena melhoria no * lblResultado*, que altera também a cor da font, conforme o nível de segurança da senha.

1º usando if:

 if (forca.ToString() == "Inaceitavel")
            {
                lbl_Resultado.ForeColor = Color.Red;
            }
            else if (forca.ToString() == "Fraca")
            {
                lbl_Resultado.ForeColor = Color.Orange;
            }
            else if (forca.ToString() == "Aceitavel")
            {
                lbl_Resultado.ForeColor = Color.Yellow;
            }
            else if (forca.ToString() == "Forte")
            {
                lbl_Resultado.ForeColor = Color.Blue;
            }
            else if (forca.ToString() == "Segura")
            {
                lbl_Resultado.ForeColor = Color.Green;
            }
             else 
            {
                lbl_Resultado.ForeColor = Color.Black;
            }

2º usando switch-case:

        private void txt_Senha_KeyDown(object sender, KeyEventArgs e)
        {
            ChecaForcaSenha verifica = new ChecaForcaSenha();
            ChecaForcaSenha.ForcaDaSenha forca;
            forca = verifica.GetForcaDaSenha(txt_Senha.Text);
            lbl_Resultado.Text = forca.ToString();

            switch (forca.ToString()) 
            {
                case "Inaceitavel" :
                    lbl_Resultado.ForeColor = Color.Red;
                    break;
                case "Fraca":
                    lbl_Resultado.ForeColor = Color.Orange;
                    break;
                case "Aceitavel":
                    lbl_Resultado.ForeColor = Color.Yellow;
                    break;
                case "Forte":
                    lbl_Resultado.ForeColor = Color.Blue;
                    break;
                case "Segura":
                    lbl_Resultado.ForeColor = Color.Green;
                    break;
                default:
                    lbl_Resultado.ForeColor = Color.Black;
                    break;
            }
1 resposta

Olá, Augusto! Bom dia.

Obrigado por compartilhar sua dúvida sobre a melhoria na label do formulário. É muito interessante ver diferentes formas de implementar a mesma funcionalidade. Tanto o uso de if-else quanto o switch-case são opções válidas para resolver esse problema.

No caso do uso do if-else, cada condição verifica o valor da variável forca e atribui uma cor diferente à propriedade ForeColor da label lbl_Resultado. Essa é uma forma simples e direta de implementar a lógica.

Já no caso do switch-case, a estrutura é um pouco diferente. Aqui, a variável forca é verificada dentro do switch e cada caso corresponde a um valor possível. Assim como no if-else, cada caso atribui uma cor diferente à label lbl_Resultado.

Ambas as implementações estão corretas e funcionais. A escolha entre uma ou outra vai depender do seu estilo de programação e do contexto em que você está trabalhando.

Espero ter ajudado a esclarecer sua dúvida. Bons estudos!