Как получить позицию курсора ввода в Winforms WebBrowser Control? - PullRequest
0 голосов
/ 08 марта 2019

Мы используем Winforms WebBrowser Control в качестве простого редактора.

Есть ли способ получить позицию (положение символа в тексте) курсора ввода в тексте. (Нет в строке ввода)

Что мне нужно?
Мне нужна реализация SelectionStart в элементе управления WebBrowser. (Где находится курсор ввода)

Зачем мне это нужно?
Поскольку элемент управления RichtText не поддерживает должным образом ссылки с альтернативным текстом ссылки, нам нужен элемент управления WebBrowser в качестве альтернативного редактора.

Edit
Моя конечная цель - получить данные о ссылке (например, «example.com») в том месте, где находится курсор, когда курсор находится над ссылкой, а пользователь не щелкает по ссылке. В моем случае нет реальной ссылки, но метаданные используются в логике программы. (Пример: am12rp12300rt147600) вместо реальной ссылки, такой как упомянутый "example.com"

1 Ответ

0 голосов
/ 08 марта 2019

Вы можете получить позицию ввода курсора через Javascript.

  1. Javascript в вашем HTML-файле:
function insertAtCursor(myValue) {
    //IE support
    if (document.selection) {        
        sel = document.selection.createRange();
        sel.text = myValue;     
    }       
}
Вставить текст в курсор
Dim result As String = WebBrowser1.Document.InvokeScript("insertAtCursor", New [Object]() {"TEST"})
Скачать исходный код из моего блога

Исходный код вставить текст в курсор (VB.NET)

...