Отвечая на щелчки гиперссылок HTML в приложении C #

Вопрос:

Как я могу обнаружить и обработать щелчки по гиперссылкам в элементе управления Windows.Forms.WebBrowser в C #?

Фон:

В моем приложении C # отсутствует централизованный файл справки. Вместо этого всем частям, составляющим приложение, разрешено отображать свою небольшую справочную тему. Это было сделано потому, что приложение представляет собой просто фреймворк, и сотни маленьких плагинов делают его полезным.

Каждый класс может реализовать интерфейс, который регистрирует его с помощью пользовательского интерфейса. Все мои разделы справки - это HTML-строки (но я не особо привязан к этому), многие из которых создаются программно во время выполнения.

Проблема в том, что все эти темы изолированы. Я бы очень хотел иметь возможность включить раздел «Смотрите также», который откроет другие разделы справки. Но как я могу обрабатывать гиперссылки в Windows.Forms.WebBrowser?

Очень благодарен, Дэвид

13.10.2009 02:42:14
Не уверен, что я полностью понимаю; если страницы просто просматриваются html элементом управления, почему бы не использовать javascript для самостоятельной обработки кликов на реальных страницах?
gn22 13.10.2009 02:48:52
1 ОТВЕТ
РЕШЕНИЕ

Если я правильно понимаю, вы хотели бы переопределить ваши клики по гиперссылкам с вашей собственной формой или пользовательским интерфейсом. Хорошо, если это так, вы помещаете свой код в событие OnNavigating веб-браузера и делаете e.Cancel = true, чтобы он не перемещался по URL-адресу, указанному вашей гиперссылкой.

какой-то фрагмент:

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
    {
        e.Cancel = true;
        SeeAlsoFrm seeAlso = new SeeAlso();
        seeAlso.showDialog();
    }

это основано на моем понимании. знак равно

2
13.10.2009 03:03:16
Это было намного проще, чем я ожидал. Спасибо!
David Rutten 13.10.2009 03:19:35