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

问题描述 投票:0回答:1

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

有没有办法获取文本中输入光标的位置(文本中的字符位置)。 (不在输入栏中)

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

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

编辑 我的最终目标是在光标放在链接上而不是用户点击链接时,在光标所在的位置检索链接数据(例如“example.com”)。就我而言,没有真正的链接,但在程序逻辑中使用了元数据。 (例如:am12rp12300rt147600)而不是像提到的“example.com”那样的真实链接

c# vb.net winforms webbrowser-control
1个回答
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)

© www.soinside.com 2019 - 2024. All rights reserved.