Posicionar cursor início do MaskedTextBox ao edita data C#

Fórum sobre outras linguagens de programação.

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1058
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Posicionar cursor início do MaskedTextBox ao edita data C#

Mensagem por porter »

Olá pessoal,

Estou enfrentando um problema com o controle MaskedTextBox. Quando o cursor entra no campo, quero que ele posicione automaticamente no início da data para que eu possa digitar diretamente. No entanto, da forma como estou implementando, o cursor está sendo posicionado no final da data preenchida.

Estou utilizando o seguinte código no evento Enter:

Código: Selecionar todos

private void mskdata_Enter(object sender, EventArgs e)
{
    mskdata.SelectionStart = 0;
    mskdata.SelectionLength = mskdata.Text.Length;
}
Esse comportamento funciona corretamente se o campo estiver vazio, permitindo que o cursor comece no início para digitar a data. Porém, quando o campo já está preenchido com uma data, o cursor continua parando no final.

Gostaria de que, mesmo com o campo já preenchido, o cursor iniciasse no começo, permitindo substituir a data sem a necessidade de apagar manualmente.

Alguém pode me ajudar a ajustar isso? Obrigado!

C#
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Posicionar cursor início do MaskedTextBox ao edita data C#

Mensagem por JoséQuintas »

Apenas sugestão:
Veja como controla a posição.
Primeiro posicione no início, e depois marque o conteúdo.
Verifique se não é comportamento normal de seleção.
No editor de textos, numa situação parecida com essa, seta pra trás posiciona no começo, e seta pra frente posiciona no final.

Mesmo assim, se pensar direito, é mais comum o usuário alterar dia/mês do que a data inteira.
Marcar a data pode ser até improdutivo, só vai servir pra digitar completa e/ou limpar.
Avalie isso também, antes de quebrar a cabeça.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder