Получить идентификатор ссылки для текущей позиции курсора в веб-браузере - PullRequest
1 голос
/ 29 января 2009

Мы используем элемент управления WebBrowser в c # winforms и должны иметь возможность получить информацию об URL, на котором расположен курсор.

Итак, у нас есть веб-страница в режиме конструктора, которая имеет несколько URL-адресов, когда курсор находится над единицей, я хотел бы вызвать метод, который возвращал бы идентификатор ссылки.

Спасибо

Ответы [ 3 ]

2 голосов
/ 09 февраля 2009

Вы можете использовать IHTMLCaret, чтобы получить позицию курсора, используя IMarkupPointer, вы можете получить элемент в текущей области видимости.

0 голосов
/ 29 января 2009

Вы можете взглянуть на эту статью - Размещение компонента веб-браузера в C # winform - который объясняет несколько способов сделать это. или перейдите непосредственно к этому - Размещение веб-страницы в форме Windows - По сути, вам нужно обработать щелчок объекта DOM внутри COM WebBrowser IE. Вы достигаете этого, обрабатывая события Js внутри вашего кода C #.

Я помню, что этот вид настройки должен выполняться с использованием COM-объекта AxSHDocVw.AxWebBrowser вместо класса System.Windows.Forms.WebBrowser из более новых версий .Net Framework.

Я мог бы прислать вам больше информации об этом, я сделал какой-то проект, просто дайте мне время найти его;). А пока попробуйте с этими ссылками.

К!

0 голосов
/ 29 января 2009

Элемент управления webBrowser имеет свойство Document, которое имеет коллекцию Links. Каждая ссылка представляет собой HTMLElement, в котором есть события, к которым вы можете подключиться. Опять же, я не уверен, что вы подразумеваете под «курсором», потому что в веб-мире, если вы не находитесь в текстовом поле, на самом деле нет «курсора» (это то, что я хотел спросить в своем комментарии), но Вы можете подключиться к событию MouseOver и другим подобным вещам.

Пример:

    foreach (HtmlElement element in this.webBrowser1.Document.Links)
    {
        element.MouseOver += (o, ex) =>
        {
            Console.WriteLine(ex.ToElement.GetAttribute("HREF"));
        };
    }

При этом будет распечатан фактический URL, над которым находится мышь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...