如何在Winforms WebBrowser控件中获取输入光标的位置?

时间:2019-03-08 10:31:01

标签: c# vb.net winforms webbrowser-control

我们使用Winforms WebBrowser控件作为简单的编辑器。

有没有一种方法可以获取输入光标在文本中的位置(文本中的字符位置)。 (不在输入栏中)

我需要什么?
我需要在WebBrowser控件中实现SelectionStart。 (输入光标在哪里)

我为什么需要这个?
由于RichtText控件不正确支持带有替代链接文本的链接,因此我们需要WebBrowser控件作为替代编辑器。

编辑
我的最终目标是在将光标放在链接上而不需要用户单击链接的情况下,在光标所在的位置检索链接数据(例如“ example.com”)。就我而言,没有真正的链接,但是在程序逻辑中使用了元数据。 (示例:am12rp12300rt147600),而不是诸如上述“ example.com”之类的真实链接

1 个答案:

答案 0 :(得分:0)

您可以通过Javascript获取输入的光标位置。

  1. 您的html文件中的Javascript
function insertAtCursor(myValue) {
    //IE support
    if (document.selection) {        
        sel = document.selection.createRange();
        sel.text = myValue;     
    }       
}
  1. 在光标处插入文本
Dim result As String = WebBrowser1.Document.InvokeScript("insertAtCursor", New [Object]() {"TEST"})
  1. 从我的博客中下载源代码

Source code insert text at cursor (VB.NET)