Fórum MaskedTextbox com máscara Oculta #482736
16/06/2014
0
Jair Souza
Curtir tópico
+ 0Post 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
Gostei + 1
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]
Gostei + 0
17/06/2014
Joel Rodrigues
Gostei + 0
17/06/2014
Jair Souza
Gostei + 0
18/06/2014
Jair Souza
Gostei + 0
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";
}
Gostei + 0
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é?
Gostei + 0
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;
}
Gostei + 0
24/06/2014
Joel Rodrigues
Gostei + 0
24/06/2014
Jair Souza
Gostei + 0
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;
}
Gostei + 0
25/06/2014
Joel Rodrigues
Gostei + 1
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 = "";
}
}
Gostei + 0
25/06/2014
Joel Rodrigues
if (nomeTextBox.ReadOnly == false)
Gostei + 0
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 = "";
}Gostei + 0
26/06/2014
Joel Rodrigues
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)