检查Windows窗体滚动条是否一直向下滚动?

jak*_*sch 5 .net c# windows winforms

我有一个富文本框作为日志.当附加新消息时,日志会自动向下滚动,这很好.唯一的问题是当用户想要从之前查看日志中的内容时; 如果添加了新消息,该框会自动向下滚动并阻止用户看到任何内容.我希望能够检查富文本框是否一直向下滚动,如果它不是向下滚动.

目前我可以在虚拟文本空间中获取滚动位置(SendMessage with EM_GETSCROLLPOS).我还可以使用GetScrollBarInfo pinvoke获取滚动条信息.但是我如何弄清楚虚拟文本空间的底部是什么?

谢谢!

Sae*_*ini 2

使用一个vScrollBar控件RichTextBox并处理它的 Scroll 事件

    private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
    {
        if (e.Type == ScrollEventType.Last)
        {
            //scrollbar is all the way down
        }
        else
        {
            //user has scrolled up
        }
    }
Run Code Online (Sandbox Code Playgroud)