J'ai une zone de texte avec une chaîne affichée déjà en elle. Pour amener le curseur dans la zone de texte que je fais déjà
txtbox.Focus();
Mais comment puis-je obtenir le curseur à la fin de la chaîne dans la zone de texte?
Sous Windows Forms, vous pouvez contrôler la position du curseur (et la sélection) avec les propriétés txtbox.SelectionStart
et txtbox.SelectionLength
. Si vous voulez mettre fin à la ligne, essayez ceci:
txtbox.SelectionStart = txtbox.Text.Length;
txtbox.SelectionLength = 0;
Pour WPF, voir cette question .
Il y a plusieurs options:
txtBox.Focus();
txtBox.SelectionStart = txtBox.Text.Length;
OR
txtBox.Focus();
txtBox.CaretIndex = txtBox.Text.Length;
OR
txtBox.Focus();
txtBox.Select(txtBox.Text.Length, 0);
Vous pouvez définir la position du curseur à l'aide de TextBox.CaretIndex . Si la seule chose dont vous avez besoin est de placer le curseur à la fin, vous pouvez simplement passer la longueur de la chaîne, par exemple:
txtBox.CaretIndex=txtBox.Text.Length;
Vous devez définir l’index du caret sur la longueur, et non sur la longueur-1, car cela placerait le caret avant le dernier caractère.
Essayez comme ci-dessous ... cela vous aidera ...
Un certain temps sous Window Form Focus()
ne fonctionne pas correctement. Il est donc préférable d’utiliser Select()
pour focaliser le champ de texte.
txtbox.Select(); // to Set Focus
txtbox.Select(txtbox.Text.Length, 0); //to set cursor at the end of textbox