Проверка, прокручивается ли полоса прокрутки форм Windows полностью вниз? - PullRequest
5 голосов
/ 09 марта 2011

У меня есть расширенное текстовое поле, которое служит журналом. Журнал автоматически прокручивается вниз при добавлении нового сообщения, и это хорошо. Единственная проблема - когда пользователь хочет просмотреть что-то в журнале; если добавлено новое сообщение, окно автоматически прокручивается вниз и не дает пользователю ничего видеть. Я хотел бы иметь возможность проверить, прокручивается ли полноразмерное текстовое поле полностью вниз, и не прокручивается ли оно вниз.

В настоящее время я могу получить позицию прокрутки в виртуальном текстовом пространстве (SendMessage с EM_GETSCROLLPOS). Я также могу получить информацию о полосе прокрутки с помощью функции GetScrollBarInfo pinvoke. Но как мне выяснить, что такое дно виртуального текстового пространства?

Спасибо!

1 Ответ

2 голосов
/ 09 марта 2011

Используйте vScrollBar элемент управления для RichTextBox и обработайте событие прокрутки

    private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
    {
        if (e.Type == ScrollEventType.Last)
        {
            //scrollbar is all the way down
        }
        else
        {
            //user has scrolled up
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...