隔离 OpenFileDialog 错误 (WebBrowser1)

Isolating OpenFileDialog Bug (WebBrowser1)

我一直在尝试诊断 OpenFileDialog 的错误。我现在已经隔离了该错误的可重现性。

这个bug很简单。单击应该 OpenFileDialog1.ShowDialog() 的按钮。相反,程序会冻结。该对话框从不显示。 Break 期间没有显示错误,它只是在等待 return.

的 .ShowDialog() 命令

基本上,我的问题是这样的:

  1. 启动程序。我可以整天使用 OpenFileDialog,没问题。
  2. 我在表单上有一个 WebBrowser1。如果我不碰它,没问题。
  3. 只有在我使用 WebBrowser1.Navigate 之后,这个错误现在才可能发生。 我仍然可以再使用 .ShowDialog() 几次,但最终它会冻结。

我的按钮中唯一的代码是:

    the_url = "http://www.google.com/"
    Try
        WebBrowser1.Navigate(the_url)
    Catch ex As Exception
        MsgBox("Maybe?: " & ex.ToString)
    End Try

我从来没有收到错误的消息框。任何帮助,将不胜感激。我已经确认 .ShowDialog() 命令在主线程上总是 运行 。我试图设置 ShowHelp = True,但没有成功。我已经将这个错误追溯到 WebBrowser1 的某个地方...如果有人能帮我解决这个问题,我会非常喜欢你。

感谢社区!

我已经解决了这个问题。该错误与使用 IE11 Emulation Control (11000) 有关。由于某种原因,这会干扰 OpenFileDialog 并导致它挂起。我不知道为什么。我将 WebBrowser1 更改为使用 IE9 Emulation Control (9999),错误消失了。感谢那些调查此事的人。这是 HKEY_CURRENT_USER.

中的注册表项