vb.net - VB.NET-从“表单加载”事件导航时,Web浏览器卡住

标签 vb.net youtube browser youtube-api

我正在尝试使用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控件损坏了吗?仅当我将导航代码放置在Form Load事件中时才发生,嗯,很奇怪。

最佳答案

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

解决此问题的一个非常简单的方法是,将一个Timer控件以较短的时间间隔(例如100毫秒)放在窗体上,将Enabled设置为true,并在其Tick事件中禁用该计时器,然后在您的WebBrowser上调用Navigate(...)

关于vb.net - VB.NET-从“表单加载”事件导航时,Web浏览器卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1549404/

相关文章:

javascript - UWP Webview 从网页获取链接到数组

python - 检查YouTube视频是否可以嵌入使用

video - 以J2me Lwuit形式播放youtube视频

browser - 更改移动设备上的浏览器选项卡颜色

javascript - DNS 失败时获取 API 响应

vb.net - 使用存储过程的结果和参数作为仪表图表的值 - ASP.NET 应用程序中的 Crystal 报告

c# - 无法在 VB.Net 中调用 F# 扩展

javascript - 更改src时在statechange上传递youtube iframe api事件

javascript - 防止在ajax中重新初始化

c# - .NET 的视觉打印设计