如何使插入符号在 GeckoFX 控件中可见?

How to make caret visible in GeckoFX control?

我正在制作一个所见即所得 HTML 编辑器,方法是将 GeckoFX 嵌入 Windows 表单应用程序 VB.NET。
这是代码:

Imports Gecko
...
Gecko.Xpcom.Initialize("C:\Program Files (x86)\XULrunner-33.0")
...
Dim gBrowser As New GeckoWebBrowser
TabControl1.SelectedTab.Controls.Add(gBrowser)
gBrowser.Dock = DockStyle.Fill
gBrowser.Navigate("about:blank")

这就是我使网页可编辑的方式:

gBrowser.Navigate("javascript:void(document.body.contentEditable='true')")

但是在我将页面设置为可编辑之后,直到我单击该页面才显示插入符号。
如何使插入点在导航方法之后的插入点可见?
此代码没有可见效果:

gBrowser.SetInputFocus()
Dim fm As nsIFocusManager
fm = Xpcom.GetService(Of nsIFocusManager)("@mozilla.org/focus-manager;1")
fm = Xpcom.QueryInterface(Of nsIFocusManager)(fm)
fm.MoveCaretToFocus(gBrowser.Window.DomWindow)

谢谢。

在 winforms 应用程序中使用嵌入式 geckofx 控件,重要的是要记住有两个焦点在起作用。

为了设置winform焦点在geckofx控件上:

gBrowser.Select();

为了在 geckofx 控件中设置 html 焦点,在 html 元素上调用焦点。例如(其中 Body 是内容可编辑元素):

gBrowser.Document.Body.Focus();