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

时间:2011-03-09 13:02:41

标签: c# .net windows winforms

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

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

谢谢!

1 个答案:

答案 0 :(得分: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
        }
    }