Insertar en la parte superior de richtextbox
-
10-07-2019 - |
Pregunta
¿Qué tiene de malo este código? Tratando de insertar mi texto al principio del cuadro de texto en lugar de en la parte inferior.
private void execute_Click(object sender, EventArgs e){ startFinshBox.Text = "Start Time: " + printTime()+""; startFinshBox.Text.Insert(0,printTime()+": Retrieving Results...\n"); }
Pero no insertará la segunda línea en el rtb. He intentado con startFinishBox.SelectionStart = 0 también, y no hizo ninguna diferencia. ¿Me estoy perdiendo algo más?
Gracias, Psy
Solución
startFinshBox.Text
es una cadena, que es un tipo inmutable en C #. string.Insert ()
devolverá la cadena modificada como resultado, pero es su código el que la descarta. Para que funcione, debe cambiar el código a:
private void execute_Click(object sender, EventArgs e){
startFinshBox.Text = "Start Time: " + printTime()+"";
startFinshBox.Text = startFinshBox.Text.Insert(0,printTime()+": Retrieving Results...\n");
}
Otros consejos
La propiedad SelectionStart
en un TextBox determinará dónde se seleccionará o insertará el texto.
Use este código para insertar código al comienzo del control del cuadro de texto:
TextBox.SelectionStart = 0;
TextBox.SelectedText = "Start time: " + printTime();