Sto utilizzando il controllo RichTextBox per visualizzare i registri delle applicazioni. Sto aggiornando il controllo una volta al secondo con alcune chiamate del metodo RichTextBox :: AppendText. Ciò che è veramente fastidioso per me è che il cursore continua a scorrere fino all'ultima riga di testo. È molto scomodo quando l'utente ha bisogno di analizzare i log che sono all'inizio. Ho cercato soluzione seguente al mio problema:Disabilitazione automatica di RichTextBox
int pos = tb_logs.SelectionStart;
tb_logs.AppendText("log message");
tb_logs.SelectionStart = pos;
Questo non va al nocciolo del problema perché il controllo sia periodicamente redrawed che è molto fastidioso. C'è una soluzione più pulita?
Suona un po 'strano perché andare fino alla fine dovrebbe essere fatto in modo esplicito da qualche parte. Sei sicuro che il codice non sta andando a impostare la selezione per la fine stessa? –
No, solo AppendText ("testo"), AppendText ("\ t"), Appendtext ("\ n") – truthseeker
Ho trovato una cosa interessante. Lo scorrimento automatico avviene solo quando l'area di testo è attiva. Dopo aver fatto clic nell'area di testo, le cose vanno storte. Se non faccio clic, posso scorrere i messaggi con la barra di scorrimento contemporaneamente con nuovi messaggi aggiunti e il testo non salta. – truthseeker