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

Cyr*_*aX6 3 c#

我使用以下代码.我想导航到一个网页,然后单击C#Web浏览器控件中的一个按钮.但是,即使在我可以导航到网页之前,也会调用click,从而导致出现null异常.

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

任何帮助,将不胜感激.

Dis*_*sia 11

第一行执行,但是在运行其余代码之前它没有完成加载页面.

做更像的事情:

webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);

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

一旦页面加载完毕,这将触发您的代码.