Comment définir la zone de texte position du curseur sans SelectionStart

J'ai un Windows Forms zone de texte avec le thread d'arrière-plan de l'actualisation de sa valeur à chaque seconde.
Si je place le curseur à l'intérieur de zone de texte il va perdre sa position actuelle à la prochaine mise à jour. Même chose avec la sélection de texte.

J'ai essayé de le résoudre comme ça

    protected void SetTextProgrammatically(string value)
    {
        //save current cursor position and selection
        int start = textBox.SelectionStart;
        int length = textBox.SelectionLength;

        //update text
        textBox.Text = value;

        //restore cursor position and selection
        textBox.SelectionStart = start;
        textBox.SelectionLength = length;
    }

Il fonctionne bien la plupart du temps. Ici est la situation quand il ne fonctionne pas:
1) je place le curseur à la fin du texte dans la zone de texte
2) appuyez sur la touche MAJ et déplacer le curseur vers la gauche à l'aide de <- flèche
La sélection ne fonctionne pas correctement.

Il ressemble combinaison SelectionStart=10 et SelectionLength=1 automatiquement déplace le curseur à la position 11 (et non 10 comme je le veux).

S'il vous plaît laissez-moi savoir si il ya quelque chose que je peux faire à ce sujet! Je suis à l'aide de Framework.NET 2.0.
Il doit y avoir un moyen de définir la position du curseur dans la zone de texte, puis d'autres SelectionStart+SelectionLength.

Ce excatly n' il va perdre sa position actuelle à la prochaine mise à jour signifie? Qu'essayez-vous de réaliser?
Cela signifie que le curseur saute au début du texte
Je veux que cette zone de texte pour toute autre zone de texte. La façon dont il fonctionne maintenant est parfois irritant. Je veux dire que je peux sélectionner du texte à l'intérieur de cette zone de texte uniquement le déplacement de gauche à droite. Et j'ai juste ne peut se faire en se déplaçant de droite à gauche
Je pense que le comportement que vous voyez EST le comportement normal. Le curseur est toujours sur la fin de la sélection, et à l'aide d'une flèche provoque la sélection de la longueur à 0.
Vous avez absolument raison. Je suis d'accord avec vous. Mais dans l'ordinaire de la zone de texte, vous pouvez sélectionner du texte se déplaçant de droite à gauche, à droite? La seule différence de mes textbox est que ce texte est en train de changer en arrière-plan pendant que je suis en train de travailler avec elle.

OriginalL'auteur walruz | 2013-02-28