Estoy utilizando el control RichTextBox para mostrar los registros de la aplicación. Estoy actualizando el control una vez por segundo con algunas llamadas del método RichTextBox :: AppendText. Lo que es realmente molesto para mí es que el cursor sigue desplazándose a la última línea de texto. Es una situación muy incómoda cuando el usuario necesita analizar los registros que están al principio. He tratado siguiente solución a mi problema:Deshabilitar el desplazamiento automático RichTextBox
int pos = tb_logs.SelectionStart;
tb_logs.AppendText("log message");
tb_logs.SelectionStart = pos;
Esto no va al núcleo del problema, ya que el control está siendo redrawed periódicamente que es muy molesto. ¿Hay alguna solución más limpia?
Suena un poco extraño porque ir hasta el final debe hacerse de forma explícita en alguna parte. ¿Estás seguro de que el código adjunto no establecerá la selección hasta el final? –
No, solo AppendText ("texto"), AppendText ("\ t"), Appendtext ("\ n") – truthseeker
Encontré algo interesante. Autoscroll solo ocurre cuando el área de texto tiene foco. Después de hacer clic en el área de texto, las cosas salen mal. Si no hago clic en él, puedo desplazar los mensajes con la barra de desplazamiento simultáneamente con los nuevos mensajes que se agregan y el texto no está saltando. – truthseeker