Jump to content
Sign in to follow this  
koKaZz

Uma Ajudita em C# ( Resolvido :) )

Recommended Posts

koKaZz

Boas,

precisava de uma ajudita em C#

Eu fiz isto numa TextBox que vai ser para o utilizador inserir uma Data:

private void textBox_Data_Nascimento_TextChanged(object sender, EventArgs e)

{

if (textBox_Data_Nascimento.Text.Length == 2)

{

textBox_Data_Nascimento.Text += "-";

}

if (textBox_Data_Nascimento.Text.Length == 5)

{

textBox_Data_Nascimento.Text += "-";

}

}

O objectivo disto era o utilizador metia o dia da data, e o "-" aparecia automaticamente, depois metia o mês e o "-" aparecia automaticamente outra vez... só que tem um problema cada vez que o "-" aparece automaticamente o cursor volta ao inicio do "texto" em vez de ficar depois do "-" para se continuar a escrever

Alguém sabe como é que se faz para o cursor não voltar ao inicio do "texto"?

EDIT: Já está resolvido :thumbsup: ficou assim:

private void textBox_Data_Nascimento_TextChanged(object sender, EventArgs e)

{

if (textBox_Data_Nascimento.Text.Length == 2)

{

textBox_Data_Nascimento.Text = textBox_Data_Nascimento.Text + "-";

int posFocus = 2;

textBox_Data_Nascimento.Focus();

textBox_Data_Nascimento.SelectionStart = posFocus + 1;

textBox_Data_Nascimento.SelectionLength = 0;

}

if (textBox_Data_Nascimento.Text.Length == 5)

{

textBox_Data_Nascimento.Text = textBox_Data_Nascimento.Text + "-";

int posFocus = 5;

textBox_Data_Nascimento.Focus();

textBox_Data_Nascimento.SelectionStart = posFocus + 1;

textBox_Data_Nascimento.SelectionLength = 0;

}

}

Cumprimentos :D

Share this post


Link to post
Share on other sites
kongas

estou-me a por a inventar, mas tenta o metodo Focus da TextBox e depois é só andar com o cursor para onde queres... não tenho a certeza... experimenta...

Share this post


Link to post
Share on other sites
kongas

eu tenho uma solução sapateira que resolve o problema....

Quando pões o fócus na textbox, ela selecciona todo o texto e mete o cursor no final...

então, põe o focus, selecciona até onde queres o cursor, e depois diz quantos caracteres queres seleccionados, neste caso, 0. a mim resulta que quis posicionar o cursor mesmo no meio da string...

            int posFocus = 2; //posicao onde queres o cursor
            tbMsg.Focus();
            tbMsg.SelectionStart = posFocus + 1;
            tbMsg.SelectionLength = 0;

espero ter ajudado...

Abraço

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.