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;
}
}
}


