gpt4 book ai didi

c# - 为什么 GUI 在 Web 浏览器导航和加载时卡住?

转载 作者:太空狗 更新时间:2023-10-29 23:51:17 25 4
gpt4 key购买 nike

如何防止 GUI 在 Web 浏览器导航和加载页面时卡住?

webBrowser1.Navigate("http://www.costco.com/");

例如,当它导航到该站点时,我的程序会稍微卡住,尤其是在加载网页时。我无法拖动和移动表格。无法单击选项卡控件中的选项卡按钮。我必须等待网页完全加载才能解冻。

我注意到独立的 Internet Explorer Web 浏览器不会那样运行。加载网页时不会卡住。

如何防止 UI 在加载网页时卡住?

最佳答案

根据我的经验,Navigate 方法是一个非阻塞函数,它不会卡住 UI。

一个可能的原因是你在 UI 初始化之前调用它......你必须在加载表单之后调用这个函数:

bool form_loaded=false;

private void Navigate(String url)
{
if(form_laded)
webBrowser1.Navigate(url);
}

private void Form1_Load(object sender, EventArgs e)
{
form_loaded = true
}
.
.
.
void boo()
{
Navigate ( "http://stackoverflow.com" );
}

`

如果您想确保 UI 在导航过程中不会卡住,您可以在每个 OnProgressChanged 事件中调用 DoEvents :

private void webBrowser1_OnProgressChanged(WebBrowserProgressChangedEventArgs e)
{
Application.DoEvents(); //update ui
}

关于c# - 为什么 GUI 在 Web 浏览器导航和加载时卡住?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21328009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com