Encontré una diferencia simple que no se ha abordado en este hilo.
Si está haciendo todas las ScrollToCarat()
llamadas como parte del Load()
evento de su formulario , no funciona. Acabo de agregar mi ScrollToCarat()
llamada al Activated()
evento de mi formulario , y funciona bien.
Editar
Es importante hacer este desplazamiento solo la primera vez que se activa el Activated
evento del formulario (no en activaciones posteriores), o se desplazará cada vez que se active su formulario, que es algo que probablemente no desee.
Entonces, si solo está atrapando el Activated()
evento para desplazar su texto cuando se carga su programa, entonces simplemente puede darse de baja del evento dentro del controlador de eventos, por lo tanto:
Activated -= new System.EventHandler(this.Form1_Activated);
Si tiene otras cosas que debe hacer cada vez que se activa su formulario, puede establecer un valor bool
verdadero la primera vez que se activa su Activated()
evento, por lo que no se desplazará en las activaciones posteriores, pero aún puede hacer las otras cosas que necesita para hacer.
Además, si TextBox
está en una pestaña que no es la SelectedTab
, ScrollToCarat()
no tendrá ningún efecto. Por lo tanto, necesita al menos convertirlo en la pestaña seleccionada mientras se desplaza. Usted puede envolver el código en una YourTab.SuspendLayout();
y YourTab.ResumeLayout(false);
par si el formulario parpadea cuando se hace esto.
Fin de editar
¡Espero que esto ayude!