保持RichTextBox在用户输入时滚动到中间位置

时间:2016-10-11 19:14:33

标签: winforms scroll textbox richtextbox

我有一个文本控件(RichTextBox),它在活动时处于显示器的整个高度。当用户键入文本时,如何使RTB始终位于富文本框中间垂直

注意我是纵向说的,因为它应该位于用户输入的字符位置,因此程序没有改变。

1 个答案:

答案 0 :(得分:0)

也许这可行,

private const int WM_VSCROLL = 0x0115;
private const int SB_PAGEUP =2; // one page up

    [DllImport("user32.dll")]
    private static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam,
    IntPtr lParam);

    private void richTextBox1_TextChanged(object sender, EventArgs e)
    {
        SendMessage(richTextBox1.Handle, WM_VSCROLL, (IntPtr)SB_PAGEUP, IntPtr.Zero);
    }

希望有所帮助,