DIGITA?ÃO DE DATAS PARCIAIS AA OU MM/AA OU DD/MM/A
Boa tarde pessoal,
Tenho que implementar uma digitação de data parcial, onde o usuário pode informar só ano (AA) ou mês/ano (MM/AA) ou dia/mês/ano (DD/MM/AA).
Tentei usar o maskedtextbox, mas não queria que ele tivesse que posicionar o cursor onde ele quer digitar.
Gostaria que ele começasse a digitar da direita para a esquerda e parasse quando tivesse digitado o que quer.
Tentei usar o [Ô]RightToLeft[Ô] mas não dá certo. Só funciona quando o campo é completado inteiramente.
Tentei usar só o textbox simples, mas gostaria que as barras fossem exibidas durante a digitação.
Alguém tem alguma dica?
Obrigada.
Tenho que implementar uma digitação de data parcial, onde o usuário pode informar só ano (AA) ou mês/ano (MM/AA) ou dia/mês/ano (DD/MM/AA).
Tentei usar o maskedtextbox, mas não queria que ele tivesse que posicionar o cursor onde ele quer digitar.
Gostaria que ele começasse a digitar da direita para a esquerda e parasse quando tivesse digitado o que quer.
Tentei usar o [Ô]RightToLeft[Ô] mas não dá certo. Só funciona quando o campo é completado inteiramente.
Tentei usar só o textbox simples, mas gostaria que as barras fossem exibidas durante a digitação.
Alguém tem alguma dica?
Obrigada.
Olá boa tarde.
Achei interessante sua dúvida, mas queria lhe alertar de algo importante: Quando você insere o ano em apenas dois dÃgitos você irá dificultar até na hora de validar esta data em questão. O meu conselho é você usar o ano em quatro dÃgitos e também neste caso especÃfico, utilize radiobuttons para sanar a questão da data.
Vou lhe passar um exemplo que montei aqui com um textbox (txtData) com o maxilength 10 onde é colocado automaticamente as barras enquanto você digita, segue o código:
Espero ter ajudado.
Achei interessante sua dúvida, mas queria lhe alertar de algo importante: Quando você insere o ano em apenas dois dÃgitos você irá dificultar até na hora de validar esta data em questão. O meu conselho é você usar o ano em quatro dÃgitos e também neste caso especÃfico, utilize radiobuttons para sanar a questão da data.
Vou lhe passar um exemplo que montei aqui com um textbox (txtData) com o maxilength 10 onde é colocado automaticamente as barras enquanto você digita, segue o código:
Private Sub formatarData()
[ô]Para formatar a data
If txtData.Text.Length = 2 Or txtData.Text.Length = 5 Then
[ô]Adiciono a barra
txtData.AppendText([Ô]/[Ô])
End If
End Sub
Private Sub txtData_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtData.KeyPress
[ô]Liberar o backspace para pagar o texto e sair do sub
If e.KeyChar = Convert.ToChar(Keys.Back) Then Exit Sub
[ô]Formata o campo para aceitar apenas números
If e.KeyChar < Convert.ToChar(Asc([Ô]0[Ô])) Or e.KeyChar > Convert.ToChar(Asc([Ô]9[Ô])) Then
[ô]Bloqueia qualquer outra tecla que não seja números
e.Handled = True
Exit Sub
End If
formatarData()
End Sub
Espero ter ajudado.
Caso tenha resolvido o problema, finalize o tópico para uma melhor organização do fórum.
Faça seu login para responder