powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WebBrowser отображение текста ссылки
3 сообщений из 3, страница 1 из 1
WebBrowser отображение текста ссылки
    #38917801
Фотография Антохин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток!

Как в C# можно сделать аналог расшифровки ссылки при наведении курсора в WebBRowser?

Студия 2010.
...
Рейтинг: 0 / 0
WebBrowser отображение текста ссылки
    #38925798
Фотография Антохин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
WebBrowser отображение текста ссылки
    #38926069
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я немножко поэкспериментировал.
Событие MouseMove в стандартном компоненте WebBrower не работает. Пишут, что можно переопределить WndProc:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class MyBrowser : WebBrowser
{
    protected override void WndProc(ref Message m)
    {
        const int WM_MOUSEMOVE = 0x0200;
        if (m.Msg == WM_MOUSEMOVE)
        {
            Debug.WriteLine("foo");
        }
        else base.WndProc(ref m);
    }
}

Однако, это не заработало.

Тогда сделал костылик - заюзал таймер.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
var browser = new WebBrowser
{
    Parent = this,
    Dock = DockStyle.Fill,
    ScriptErrorsSuppressed = true
};
browser.Navigate("yandex.ru");

var timer = new Timer();
timer.Tick += (o, e) =>
{
    if (browser.Document != null)
    {
        HtmlElement elem = browser.Document.GetElementFromPoint(browser.PointToClient(MousePosition));
        if (elem != null)
        {
            if (string.Compare(elem.TagName, "A", true) == 0)
                this.Text = elem.GetAttribute("href");
        }
    }
};
timer.Start();


Работает. Текст ссылок показывает. Но только текст прямых ссылок. Если в <a> вложен какой-нибудь другой тэг, то нужно вверх по дереву пройтись до тэга A.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WebBrowser отображение текста ссылки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]