Выделение элемента при наведении мышкой в WebBrowser

Из этой статьи вы узнаете, как выделить элемент в WebBrowser при наведении мышкой.

Как обычно начнём с создания нового проекта типа Windows Forms Application. Затем добавим на форму элемент управления WebBrowser (wb).

control webBrowser

 

Для работы нам так же понадобиться тестовая страница, её исходник я возьму из предыдущей статьи: Получение имени элемента при наведении мышкой.

И так для начала нужно загрузить страницу в WebBrowser. В данном примере это действие я буду выполнять в обработчике события Form.Load

Затем необходимо дождаться полной загрузки страницы, для этого подписываемся на событие DocumentCompleted.

Следующим шагом будет подписка на событие MouseOver, которое позволит отловить момент наведения мышки на элемент.

Выделение элемента

Выделить элемент на странице можно несколькими способами, так например, в данной статье рассмотрим, как это можно сделать с помощью css стилей.


Проект codebyOS

Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

1. Чтобы применить css стиль к элементу нужно воспользоваться свойством Style. Например, я хочу, чтобы при наведении мышки на элемент вокруг него создавалась рамка красного цвета:

результат

рамка вокруг элемента

2. Применение стиля будет происходить в обработчике события MouseOver.

Проверим, как работает данная часть кода. Запускаем приложение и начинаем наводить мышку на любые элементы на странице.

выделение элемента

В принципе всё работает, но хотелось бы сделать так, чтобы при переключении с одного элемента на другой, выделение (рамка) исчезало.

3. В обработчике события DocumentCompleted подписываемся на событие MouseLeave.

4. Присвоим свойству Style значение null и вместо ToElement укажем свойство FromElement.

Снова запускаем приложение, теперь всё работает как надо. Если вам было, что-то не понятно, то посмотрите видео.

Читайте также:



Похожие темы

C# WebBrowser. Часть 1: Получение и вывод данных... C# WebBrowser. Часть 1: Получение и вывод данных При создании одного из своих приложений мне потребовалось реализовать в нём возможность скачивать фа...
HTML Injection — Web Application Pentesting https://codeby.net/forum/threads/web-application-pentesting-html-injection.59031/ Сегодня мы с вами начнем осваивать базовые понятие инъекция код...
Как получить исходный код страницы в c#?... Как получить исходный код страницы с помощью класса WebBrowser? В этой статье рассмотрим на простом примере, как получить исходный код страницы помощ...
c# Создание веб-сервера с помощью класса HttpListe... Как создать веб-сервер с помощью класса HttpListener? В этой небольшой статье рассмотрим на простом примере, как создать веб-сервер с помощью языка c...
Как найти html элемент по атрибуту class... Как найти html элемент по его классу? В этой статье хотелось бы рассказать, как можно быстро и легко найти html элемент по его классу. Поиск элементо...