c# - 为什么 WebBrowser DocumentCompleted() 触发两次?

标签 c# .net navigation browser

好吧,我正在使用一个简单的网络浏览器控件来浏览一个页面,所以我需要在这样做的同时更改表单的文本。我正在使用 -

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
     this.Text += " - " + webBrowser1.Document.Domain;
}

但是使用断点,我注意到,这个事件触发了两次。我什至尝试了 _Navigated() 事件。它还发射了两次。将标题生成为 "Webber - google.co.in - google.co.in" ..

我还注意到这个事件在加载 msn.com 时触发了几次。我试图仅在页面完全加载完成时才更改表单的文本。

有什么补救措施吗?

最佳答案

您可以在触发事件时检查 WebBrowser.ReadyState:

if (browser.ReadyState != WebBrowserReadyState.Complete)
    return;

一旦整个文档准备就绪,ReadyState 将设置为 Complete。

关于c# - 为什么 WebBrowser DocumentCompleted() 触发两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2328835/

相关文章:

c# - Roslyn:给定源位置/行,如何确定是否可以设置断点以及在哪里设置断点

.net - 不可能(我讨厌使用这个词)交叉线程错误?

navigation - 使用 Enter 键导航到 AG-Grid 中的下方单元格

css - 由其他元素强制悬停 CSS3

c# - Kendo TabStrip 与 KendoGrid 内部使用 JavaScript 进行事件处理

c# - C# 中的 LINQ 查询

c# - 如何从 hWnd 获取 "Application Name"for Windows 10 Store Apps (e.g. Edge)

.net - 如何使用 Enter 键在字段之间导航

c# - .MakeArrayType() 和 .MakeArrayType(1) 的区别

react-native - 结合 TabNavigator 和 Drawernavigator