Inconsistente resultaten met RichTextBox ScrollToCaret

Inconsistente resultaten met RichTextBox ScrollToCaret

Ik heb nog wat geëxperimenteerd met ScrollToCaret en het komt gewoon niet elke keer in dezelfde positie terecht. Aangezien mijn doel beperkt is tot het helemaal naar beneden scrollen, was het toen een goede kandidaat om het WM_VSCROLL-bericht (277 of 0x115) naar de besturing te sturen, met wParam van SB_PAGEBOTTOM (7). Dit scrolt consequent helemaal naar beneden, precies zoals ik nodig had:

[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);
private const int WM_VSCROLL = 277;
private const int SB_PAGEBOTTOM = 7;

public static void ScrollToBottom(RichTextBox MyRichTextBox)
{
    SendMessage(MyRichTextBox.Handle, WM_VSCROLL, (IntPtr)SB_PAGEBOTTOM, IntPtr.Zero);
}