Как получить доступ к полосе прокрутки элемента управления веб-браузера в C #? - PullRequest
1 голос
/ 04 августа 2011

Мой контроль веб-браузера должен быть отключен (enabled = false), чтобы пользователь не мог щелкнуть по нему. Это также отключает доступ к полосе прокрутки, поэтому я подумываю о создании еще одной полосы прокрутки рядом с элементом управления, который получает и передает его значения из полосы прокрутки веб-браузера и обратно. Для этого мне нужно получить доступ к элементу прокрутки веб-браузера. Как я могу найти это? webbrowser.Controls.Count возвращает ноль.

1 Ответ

0 голосов
/ 04 августа 2011

Хмм. Я не знаю, есть ли какой-нибудь метод программного увеличения позиции полосы прокрутки. Однако вы можете прокрутить по имени элемента:

        private void ScrollToElement(String elemName)
    {
        if (webBrowser1.Document != null)
        {
            HtmlDocument doc = webBrowser1.Document;
            HtmlElementCollection elems = doc.All.GetElementsByName(elemName);
            if (elems != null && elems.Count > 0) 
            {
                HtmlElement elem = elems[0];

                elem.ScrollIntoView(true);
            }
        }
    }

Также см. этот вопрос о других возможностях.

EDIT:

См. Вопрос Программная прокрутка WebBrowser иногда не работает

...