Как выбрать HTMLElement в WebBrowser

#c# #winforms #webbrowser-control

#c# #winforms #webbrowser-управление

Вопрос:

У меня есть элемент управления WebBrowser с некоторыми элементами span.

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

 HtmlElement hitElement = exerciseTextEditorControl.Document.GetElementFromPoint(e.ClientMousePosition);
if (lastHitElement == null)
    return;
// Some stuff elided
// Now need to make a selection of this element in web browser
  

Я знаю, что могу использовать IHTMLTxtRange для выделения некоторого текста, но как я могу сделать то же самое с HtmllElement?

Заранее спасибо.

Ответ №1:

Найден ответ. На случай, если кому-то это тоже понадобится:

 public void SetSelectedElement(HtmlElement element)
    {
        IHTMLSelectionObject selection = HtmlDocument2.selection;

        var htmlTxtRange = selection.createRange() as IHTMLTxtRange;
        var iHtml = element.DomElement as IHTMLElement;
        htmlTxtRange.moveToElementText(iHtml);
        htmlTxtRange.select();
    }