1

我正在尝试使用 Visual Studio 2008 和一个非常简单的仅包含 WebBrowser 的 Visual Basic 项目加载 YouTube 页面。我想在表单加载时加载页面:

Private Sub Form1_Load(ByVal sender As Object, 
    ByVal e As System.EventArgs) Handles Me.Load
    WebBrowser1.Navigate("http://code.google.com/apis/youtube/js_example_1.html")
End Sub

每隔一段时间(每 3-5 次出现一次,但会有所不同),表格只显示一个空白的白色框。

有人可以帮我理解为什么会发生这种情况。

编辑:这种“冻结”发生在任何页面上,例如http://www.google.com。我的 WebBrowser 控件是否损坏?只有当我将导航代码放在表单加载事件中时才会发生,嗯,很奇怪。

4

1 回答 1

0

这可能(几乎可以肯定)发生,因为表单的 Load 事件发生在其第一个 Paint 事件之前,因此WebBrowser 有时会在表单第一次绘制自己之前完成导航到 Google(或任何地方) ,因此 WebBrowser 显示为只是一个白盒子。

这个问题的一个非常简单的解决方案是在表单上放置一个 Timer 控件,间隔很短(比如 100 毫秒),设置Enabledtrue,并在其Tick事件中禁用 Timer,然后调用Navigate(...)您的 WebBrowser。

于 2009-10-11T01:45:19.960 回答