Em C# para usar um campo para senhas basta usar um TextBox padrão, alterando sua propriedade PasswordChar. Quando a caixa de texto está no modo de senha porque PasswordChar, UseSystemPasswordChar ou se ReadOnly for verdadeiro, o TextBox está no modo restrito. Neste modo, o ImeMode está desativado, mas o ImeMode atual é armazenado em cache para que ele possa ser restaurado se o TextBox nunca se tornar irrestrito.
ImeMode
Siginifica Input Method Editor, o modo permite aos usuários inserir caracteres e símbolos complexos, tais como mostrar caracteres “*”, usando um teclado padrão.
MessageBox
Exibe uma caixa de mensagem que pode conter texto, botões e símbolos que informam e instruem o usuário.
Aspas Simples e Aspas Duplas
Em algumas linguagens de programação usa-se aspas simples para escrever textos literais para uma variável, outras linguagens usam aspas duplas. Em algumas linguagens modernas usa-se ambos os tipos de aspas. Em C# aspas duplas significam caracteres literais no formato String, aspas simples significam caracteres literais no formato Char. No exemplo abaixo o caractere de senha precisa ser do tipo Char, tente colocar os caracteres em aspas duplas e verá o erro: String e Char não são tipos compatíveis, aspas simples transformam os literais em tipos Char suprimindo o erro do compilador.
Exemplo:
Neste exemplos usamos uma caixa de texto com sua propriedade de senha ativada e exibimos mensagens ao usuário de acordo com o resultado de validação.
C#
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace senha { public partial class Form1 : Form { // Declara componentes Label rotulo; TextBox senha; Button botao; public Form1() { InitializeComponent(); } private void Form1_Shown(object sender, EventArgs e) { // Cria componentes rotulo = new Label(); senha = new TextBox(); botao = new Button(); // Adiciona Componentes this.Text = "DA - Password"; rotulo.Text= "Digite uma senha de 8 caracteres"; botao.Text="Ok"; // Adiciona tamanho dos componentes rotulo.Size = new Size(300, 20); this.Size = new Size(250, 150); // Adiciona posição dos componentes rotulo.Location = new Point(15, 20); senha.Location = new Point(15, 45); botao.Location = new Point(15, 70); // Adiciona componente no formulario this.Controls.Add(rotulo); this.Controls.Add(senha); this.Controls.Add(botao); // Cria evento do botão botao.Click += new System.EventHandler(this.botao_Click); // Altera propriedades para usar senhas senha.MaxLength = 8; senha.PasswordChar = '*'; } private void botao_Click(object sender, EventArgs e) { // Exibe menssagens if (verificaSenha(senha.Text)) { MessageBox.Show("A Senha está correta!", "Menssagem", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk); } else { MessageBox.Show("A Senha está incorreta!", "Menssagem", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk); } } public Boolean verificaSenha(string senha) { // Verifica Senha Boolean correto = true; // Retorna senha de alguma fonte string rsenha = "daaberto"; // Verifica tamanho da senha if (senha.Length != rsenha.Length) { correto = false; } else { // Verifica senha if (senha != rsenha) { correto = false; } } return correto; } } }