IDADE EM C#
Olá, achei uma função de calculo de idade em c# mas não tô conseguindo inserir no meu código. Preciso que um maskedtextbox ao peder o foco e no evento changed calcule a idade do funcionário conforme a data de nascimento no masked e mostre o resultado em um label. Nessa função onde coloco o masked e o label? Ou por acaso tem uma maneira mais fácil???
public static int calculaIdade(DateTime dtNascimento)
{
int idade = DateTime.Now.Year - dtNascimento.Year;
if (DateTime.Now.Month < dtNascimento.Month || (DateTime.Now.Month == dtNascimento.Month && DateTime.Now.Day < dtNascimento.Day))
idade--;
return idade;
}
ALAN
public static int calculaIdade(DateTime dtNascimento)
{
int idade = DateTime.Now.Year - dtNascimento.Year;
if (DateTime.Now.Month < dtNascimento.Month || (DateTime.Now.Month == dtNascimento.Month && DateTime.Now.Day < dtNascimento.Day))
idade--;
return idade;
}
ALAN
ALANTB,
Com o [Ô]Validated[Ô] funcionou, com o [Ô]textChanged[Ô] NÃO funcionou...
...exemplo tosco:
==========================================
Evento Control.LostFocus
https://msdn.microsoft.com/pt-br/library/system.windows.forms.control.lostfocus(v=vs.110).aspx
==========================================
Evento LostFocus em TextBox (C#)
https://social.msdn.microsoft.com/Forums/pt-BR/5eaaa437-9724-4ca9-a872-1b2cc288062c/evento-lostfocus-em-textbox-c?forum=aspnetpt
==========================================
Mas é preciso ter CERTEZA que o [Ô]maskedTextBox1[Ô] tem uma data válida!
[][ô]s,
Tunusat.
Com o [Ô]Validated[Ô] funcionou, com o [Ô]textChanged[Ô] NÃO funcionou...
...exemplo tosco:
==========================================
Evento Control.LostFocus
https://msdn.microsoft.com/pt-br/library/system.windows.forms.control.lostfocus(v=vs.110).aspx
DateTime teste;
private void maskedTextBox1_Validated(object sender, EventArgs e)
{
teste = Convert.ToDateTime(maskedTextBox1.Text);
label1.Text = calculaIdade(teste).ToString();
}
==========================================
Evento LostFocus em TextBox (C#)
https://social.msdn.microsoft.com/Forums/pt-BR/5eaaa437-9724-4ca9-a872-1b2cc288062c/evento-lostfocus-em-textbox-c?forum=aspnetpt
Citação:Odair,
Apesar de o método se chamar textChanged(), ele somente é acionado quando o usuário tira o foco do texbox, seja com um tab ou com um clique fora do controle. Além disso, é necessário ter havido alteração no texto digitado. Isso o torna, em alguns casos, ainda mais eficiente que o lostFocus(); principalmente quando não é possÃvel fugir de um postback.
Cláudia F. Uehara
==========================================
Mas é preciso ter CERTEZA que o [Ô]maskedTextBox1[Ô] tem uma data válida!
[][ô]s,
Tunusat.
private void maskedtextbox_TextChanged(object sender, System.EventArgs e)
{
label.Text = calculaIdade((DateTime) maskedtextbox.Text).ToString();
}
ou
private void maskedtextbox_LostFocus(object sender, System.EventArgs e)
{
label.Text = calculaIdade((DateTime) maskedtextbox.Text).ToString();
}
JABA, tentei não deu, talvez faltou alguma coisa no meu código.
TUNUSAT adaptei a função que tu passou acima e funcionou pra mim nos dois eventos. Valeu mais uma vez pessoal, vou adiante....!!!
TUNUSAT adaptei a função que tu passou acima e funcionou pra mim nos dois eventos. Valeu mais uma vez pessoal, vou adiante....!!!
Tópico encerrado , respostas não são mais permitidas