2009-11-30 6 views
2

Quel est le problème avec ce code? Essayer d'obtenir mon texte à insérer au début de la zone de texte plutôt que dans le bas.Insertion en haut de richtextbox

 
private void execute_Click(object sender, EventArgs e){ 
    startFinshBox.Text = "Start Time: " + printTime()+""; 
    startFinshBox.Text.Insert(0,printTime()+": Retrieving Results...\n"); 
} 

Mais il n'insèrera pas la deuxième ligne dans le rtb. J'ai essayé avec startFinishBox.SelectionStart = 0 aussi, et cela n'a fait aucune différence. Est-ce que je manque quelque chose d'autre?

Merci, Psy

Répondre

4

startFinshBox.Text est une chaîne, qui est un type immuable en C#. string.Insert() retournera la chaîne modifiée en conséquence, mais c'est votre code que vous rejetez. Pour le faire fonctionner, vous devez changer le code:

private void execute_Click(object sender, EventArgs e){ 
    startFinshBox.Text = "Start Time: " + printTime()+""; 
    startFinshBox.Text = startFinshBox.Text.Insert(0,printTime()+": Retrieving Results...\n"); 
} 
+0

Ahh, je savais que cela aurait été quelque chose de simple comme ça, merci! – Psytronic

0

La propriété SelectionStart sur une zone de texte déterminera où le texte sera sélectionné ou inséré à partir.

Utilisez ce code pour insérer le code au début de la zone de texte contrôle:

TextBox.SelectionStart = 0; 
TextBox.SelectedText = "Start time: " + printTime();