Je veux déplacer le signe d'insertion de 4 positions à droite de l'endroit où se trouve actuellement mon signe d'insertion. Je suis inscrit pour PreviewKeyDown
et en appelant InsertTextInRun()
lorsque la touche de tabulation est capturée, comme ceci :
private void rtb_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Tab)
{
rtb.CaretPosition.InsertTextInRun(" ");
e.Handled = true;
}
}
Le problème est que le signe d'insertion reste en place après l'appel à la fonction InsertTextInRun()
. Il ne no se déplace à la fin du nouveau texte, ce qui est le comportement que je souhaite. Comment dois-je faire ?
Soit dit en passant, oui, je suis au courant des AcceptsTab
la propriété sur RichTextBox
. J'ai choisi de l'ignorer et de mettre en place ma propre fonctionnalité de tabulation car la tabulation avec AcceptsTab
a pour effet secondaire désagréable d'indenter le texte sur les lignes suivantes, qui est no ce que je veux.