我正在尝试使用Visual Studio 2008加载一个YouTube页面,以及一个只包含WebBrowser的非常简单的Visual Basic项目。我想在表单加载时加载页面:
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控件坏了吗?只有当我将导航代码放在Form Load事件中时才会发生,嗯奇怪。
答案 0 :(得分:0)
这可能(几乎可以肯定)发生,因为表单的Load事件发生在它的第一个Paint事件之前,因此WebBrowser偶尔会在之前导航到Google(或任何地方),表单会自行绘制第一次,因此WebBrowser只显示一个白框。
解决这个问题的一个非常简单的方法就是在窗体上放置一个Timer控件,使用一个短的Interval(比方说,100 ms),将Enabled
设置为true
,并在其{{1 event禁用Timer,然后在WebBrowser上调用Tick
。