C# 第二行代码在第一行代码之前执行#

C# 第二行代码在第一行代码之前执行#,c#,C#,我正在使用以下代码。我想导航到一个网页,然后单击C#web浏览器控件中的一个按钮。但是,甚至在我可以导航到web页面之前,就会调用单击,从而导致空异常 webBrowser1.Navigate("www.remaxit.com/members"); // way before this deleted = true; HtmlDocument doc = this.webBrowser1.Document; doc.GetElementById("AddUser").InvokeMember("

我正在使用以下代码。我想导航到一个网页,然后单击C#web浏览器控件中的一个按钮。但是,甚至在我可以导航到web页面之前,就会调用单击,从而导致空异常

webBrowser1.Navigate("www.remaxit.com/members"); // way before this
deleted = true;
HtmlDocument doc = this.webBrowser1.Document;
doc.GetElementById("AddUser").InvokeMember("CLICK"); //This executes

如果有任何帮助,我们将不胜感激。

第一行将执行,但在运行其余代码之前,它不会完成页面加载

做一些更像:

webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);

void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    HtmlDocument doc = this.webBrowser1.Document;
    doc.GetElementById("AddUser").InvokeMember("CLICK");
}

这将在页面加载完成后触发事件的代码。

由于从未在C#中使用过web浏览器工具,我敢打赌
导航
是非阻塞的。您可能希望查找事件或类似于
OnLoad
,并在加载页面后调用您的逻辑。还有其他方法吗?因为我正在使用计时器条件来查看计时器是早上还是晚上。根据我导航到的网页的时间不同。@CyraX6您可以在事件处理程序中检查一些条件吗?