Joh*_*ohn 6 .net webbrowser-control winforms
注意:这是关于控件的内置行为,而不是创建双击事件.
我的一个项目使用Windows.Forms.WebBrowser控件作为HTML的编辑器和查看器.它已经工作好多年但突然我注意到,在我双击它之前会自动选择被点击的单词(这不是我的代码,只是控件发生了).
突然(不完全确定何时),双击控件中的文本(在编辑模式或视图模式下)都不执行任何操作.很难排除故障因为它不是我的代码所做的,但是,因为我过去依赖于这个功能,现在它正在影响我的最终产品.
知道最近会发生什么变化(在Windows或.Net中)会影响到这一点(我的应用程序的相同版本在较旧的Win7中运行良好但在最新的Win7中运行不正常)?另外,如何恢复以前的功能?我必须连接自己的双击甚至在DOM上然后开始解析文本以手动选择它(呃!)?
我一直在寻找这个问题的答案,但主要是我只是看到如何连接到DOM事件,没有关于最近会导致上述问题的变化.任何帮助将不胜感激.
当问题发生时,我正在使用VS 2010,VB,Win7 x64,IE 10.0.6,.Net 3.5(无论最新的是什么)(编译所以我怀疑它是VS或VB).
当我在Win7 x86上使用IE 8(Win7 Pro plain,安装了零更新)运行完全相同的代码(已编译)时,它的工作正常.
经过一些进一步的测试,在Win7 x86全新安装(一切都很好)上,一旦我安装IE 10并且没有问题,问题就开始发生了.所以,我很确定问题出在IE 10上.
重现步骤:
将此代码添加到usercontrol
Public Sub LoadHTML(html As String)
WebBrowser1.DocumentText = html
Do Until WebBrowser1.ReadyState = WebBrowserReadyState.Complete
Application.DoEvents()
Loop
WebBrowser1.Document.Body.SetAttribute("contentEditable", "false")
End Sub
Run Code Online (Sandbox Code Playgroud)将该控件添加到窗体
使用以下按钮向表单添加一个按钮.单击事件:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
UserControl1.LoadHTML("<html><body>This is a test interesting is it not?</body></html>")
End Sub
Run Code Online (Sandbox Code Playgroud)运行项目并单击按钮
如果您直接在表单上抛出webbrowser控件,它将正常工作.问题出在usercontrol上(更新到IE10后只是一个问题).
我可以使用VS 2010使用.Net 3.5和4.0重现问题.我可以使用.Net 4.5使用VS 2012重现问题.
| 归档时间: |
|
| 查看次数: |
2677 次 |
| 最近记录: |