2016-05-15 43 views
0

我將如何使用此代碼如何使用webBrowser1_Navigated方法內部計時器滴答方法C#

  private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e) 
       { 
if (Convert.ToInt32(myhour) == hours && Convert.ToInt32(myminutes) == minutes) { 
        webBrowser1.Navigate("www.remaxit.com/members"); // way before this 
    deleted = true; 
    HtmlDocument doc = this.webBrowser1.Document; 
    doc.GetElementById("AddUser").InvokeMember("CLICK"); //This executes 
       } 
       } 

這裏面

private void timer1_Tick(object sender, EventArgs e) 
     { 
      MessageBox.Show("Time is ticking"); 
     } 

所以我試圖做的是在當前時間的時間相匹配我想,它會點擊一個按鈕。如果我不使用導航方法,則頁面未完全加載並拋出空的異常。這就是爲什麼我使用導航方法的原因,但我如何使用定時器的導航方法,以便在匹配我的Web瀏覽器時導航至www.remaxit.com/members。

+0

在Tick事件處理程序中調用Navigate()方法。設置一個布爾變量,所以你知道這是強制導航的計時器,並且不應該接受其他Navigate()。使用DocumentCompleted事件和該變量進行點擊。 –

回答

0

好像這種方式應該爲你工作:

private void timer1_Tick(object sender, EventArgs e) 
{ 
    ClickAtTime(); 
} 

private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e) 
{ 
    ClickAtTime(); 
} 

private void ClickAtTime() 
{ 
    if (Convert.ToInt32(myhour) == hours && Convert.ToInt32(myminutes) == minutes) 
    { 
     webBrowser1.Navigate("www.remaxit.com/members"); // way before this 
     deleted = true; 
     HtmlDocument doc = this.webBrowser1.Document; 
     doc.GetElementById("AddUser").InvokeMember("CLICK"); //This executes 
    } 
} 

將要重複到它自己的方法,並從兩地調用它的功能。

+0

好吧,我會讓你知道謝謝 – CyraX6

相關問題