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

È stato utile?

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();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top