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: 1057
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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