Inserimento nella parte superiore di richtextbox
-
10-07-2019 - |
Domanda
Cosa c'è che non va in questo codice? Sto cercando di inserire il mio testo all'inizio della casella di testo anziché in fondo.
private void execute_Click(object sender, EventArgs e){ startFinshBox.Text = "Start Time: " + printTime()+""; startFinshBox.Text.Insert(0,printTime()+": Retrieving Results...\n"); }
Ma non inserirà la seconda riga nell'RTB. Ho provato anche con startFinishBox.SelectionStart = 0 e non ha fatto alcuna differenza. Mi manca qualcos'altro?
Grazie, Psy
Soluzione
startFinshBox.Text
è una stringa, che è un tipo immutabile in C #. string.Insert ()
restituirà di conseguenza la stringa modificata, ma è il tuo codice a scartarla. Per farlo funzionare, devi cambiare il codice in:
private void execute_Click(object sender, EventArgs e){
startFinshBox.Text = "Start Time: " + printTime()+"";
startFinshBox.Text = startFinshBox.Text.Insert(0,printTime()+": Retrieving Results...\n");
}
Altri suggerimenti
La proprietà SelectionStart
su una TextBox determinerà da dove il testo verrà selezionato o inserito.
Usa questo codice per inserire il codice all'inizio del controllo casella di testo:
TextBox.SelectionStart = 0;
TextBox.SelectedText = "Start time: " + printTime();