如何在GeckoFX控件中看到插入符号?

时间:2015-11-03 17:16:13

标签: .net vb.net winforms geckofx html-editor

我通过在VB.NET中的Windows窗体应用程序中嵌入GeckoFX来制作一个所见即所得的HTML编辑器。
这是代码:

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)

谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

gBrowser.Select();

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

gBrowser.Document.Body.Focus();