如何使富文本框滚动

本文关键字:滚动 文本 何使富 | 更新日期: 2023-09-27 18:34:28

我在 richTextbox1 中添加了很多文本,我在右侧有一个滚动条,但里面的文本是添加所有时间滚动的行。只有当我用鼠标向下拖动右侧的栏时,我才会看到文本滚动。

我想让它在里面的文本到达 richTextbox 的底部后自动滚动。

我该怎么做?

如何使富文本框滚动

每当在富文本框控件中添加文本时,都应执行这些语句以移动富文本框中文本末尾的光标。假设 RichTextBox 控件的名称是 richTextBox,您将具有如下语句。

richTextBox.SelectionStart = richTextBox.Text.Length;
richTextBox.ScrollToCaret();

这段代码可以完美地工作: ------

namespace CustomRTB
{
    public class CustomRTB : RichTextBox
    {
        #region API Stuff
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern int GetScrollPos(IntPtr hWnd, int nBar);
        [DllImport("user32.dll")]
        private static extern int SetScrollPos(IntPtr hWnd, int nBar, int nPos, bool bRedraw);
        private const int SB_HORZ = 0x0;
        private const int SB_VERT = 0x1;
        #endregion
        public int HorizontalPosition
        {
            get { return GetScrollPos((IntPtr)this.Handle, SB_HORZ); }
            set { SetScrollPos((IntPtr)this.Handle, SB_HORZ, value, true); }
        }
        public int VerticalPosition
        {
            get { return GetScrollPos((IntPtr)this.Handle, SB_VERT); }
            set { SetScrollPos((IntPtr)this.Handle, SB_VERT, value, true); }
        }
    }
}

你可以检查它包含的富文本框类属性

public RichTextBoxScrollBars ScrollBars { get; set; }

此属性使您能够向 RichTextBox 控件的用户提供水平和垂直滚动条以启用滚动。