【问题标题】:Isolating OpenFileDialog Bug (WebBrowser1)隔离 OpenFileDialog 错误 (WebBrowser1)
【发布时间】:2017-11-01 21:14:57
【问题描述】:

我一直在尝试诊断我在使用 OpenFileDialog 时遇到的错误。我现在已经隔离了该错误的重现性。

错误很简单。单击应该是 OpenFileDialog1.ShowDialog() 的按钮。相反,程序冻结。对话框永远不会显示。 Break 期间没有显示错误,它只是在等待 .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 的问题......如果有人能帮我解决这个问题,我会完全爱上你的。

感谢社区!

【问题讨论】:

  • 如果您真的想感谢社区,您可以将过去问题的答案标记为已接受(单击复选标记)。只有你能做到。简短的tour 解释了 SO 的工作原理。接受答案和(稍后)点赞有助于其他人找到好帖子
  • 我回顾了我的问题并检查了那些有答案的问题。谢谢,我没有意识到。
  • 我无法重现这个。我在表单上有一个按钮,可以运行上面的代码来导航浏览器,在启动表单上有一个按钮,可以使用ShowDialog 加载带有浏览器的表单。它永远不会挂在我身上。

标签: vb.net webbrowser-control freeze openfiledialog


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-16
    • 2014-01-24
    • 1970-01-01
    相关资源
    最近更新 更多