MaskedTextbox com máscara Oculta
16/06/2014
0
Jair Souza
Post mais votado
24/06/2014
Obs.: não sei se isso é um requisito fundamental de seu sistema, mas eu não perderia tempo com isso.
Joel Rodrigues
Mais Posts
17/06/2014
Jair Souza
Como fazer isto em Windows Form C# ?
[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20140617-083012.png[/img]
17/06/2014
Joel Rodrigues
18/06/2014
Joel Rodrigues
private void maskedTextBox1_Leave(object sender, EventArgs e) { (sender as MaskedTextBox).BackColor = Color.White; if ((sender as MaskedTextBox).Text == " -") { (sender as MaskedTextBox).Mask = ""; } } private void maskedTextBox1_Enter(object sender, EventArgs e) { (sender as MaskedTextBox).BackColor = Color.LightGreen; (sender as MaskedTextBox).Mask = "00000-9999"; }
18/06/2014
Joel Rodrigues
1) Usei "(sender as MaskedTextBox)" para que fique genérico, assim é possível ligar vários MaskedTextBoxes no mesmo evento e funcionará para todos.
2) Comparei o texto com " -" pois esse é o conteúdo do MaskedTextBox quando está com máscara, mas sem conteúdo digitado. Isso varia para cada máscara escolhida.
O resto acho que não tem mistério, né?
24/06/2014
Jair Souza
O primeiro mask a ocultar é de data ___/__/___ com esta linha de código no botão adicionar registro, oculta somente as underlines as barras continuam aparecendo " / / ".
private void BtnAdicionar_Click(object sender, EventArgs e) { dataNascMaskedTextBox.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals; }
24/06/2014
Jair Souza
24/06/2014
Jair Souza
private void CorFocus(Control.ControlCollection controls) { foreach (Control control in controls) { if ((control is TextBox) || (control is ComboBox) || (control is MaskedTextBox)) { control.Enter += new EventHandler(controlFocus_Enter); control.Leave += new EventHandler(controlFocus_Leave); } CorFocus(control.Controls); } } void controlFocus_Enter(object sender, EventArgs e) { if (nomeTextBox.ReadOnly == false) (sender as Control).BackColor = Color.FromArgb(254, 244, 220); } void controlFocus_Leave(object sender, EventArgs e) { if (nomeTextBox.ReadOnly == false) (sender as Control).BackColor = Color.White; }
25/06/2014
Joel Rodrigues
25/06/2014
Jair Souza
void controlFocus_Enter(object sender, EventArgs e) { if (nomeTextBox.ReadOnly == false) (sender as Control).BackColor = Color.FromArgb(254, 244, 220); (sender as MaskedTextBox).Mask = "00/00/0000"; } void controlFocus_Leave(object sender, EventArgs e) { if (nomeTextBox.ReadOnly == false) (sender as Control).BackColor = Color.White; if ((sender as MaskedTextBox).Text == " //") { (sender as MaskedTextBox).Mask = ""; } }
25/06/2014
Joel Rodrigues
if (nomeTextBox.ReadOnly == false)
25/06/2014
Jair Souza
Como deve ficar a mask dentro das aspas ? Acho que o problema está aí...
private void dataNascMaskedTextBox_Leave(object sender, EventArgs e) { if ((sender as MaskedTextBox).Text == "__/__/____") (sender as MaskedTextBox).Mask = ""; }
26/06/2014
Joel Rodrigues
Clique aqui para fazer login e interagir na Comunidade :)