Re: [問題] 關於WebBrowser的問題

看板C_Sharp (C#)作者 (我很可愛)時間13年前 (2011/10/17 22:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《hcl012 (怪龍-卡西歐魯)》之銘言: : 我目前正在寫的程式 : 主要是希望將一個字串陣列a裡面的字串一一拿到WebBrowser當成網址 : 並且在迴圈裡面等網頁載入成功後再載入下一個網址 : 程式碼大概是這樣 : for (int i = 0; i <= num; i++ ) : { : loading = true; : webBrowser.Navigate(a[i]); : while (loading) : { : Application.DoEvents(); : } : } : 另外再定義網頁載入後的程式 : private void webBrowser_DocumentCompleted(object sender, : WebBrowserDocumentCompletedEventArgs e) : { : loading = false; : } : 我的想法就是用navigate載入網頁後 : 先用while進入無限迴圈 : 等到載入完成後loading被設為false再繼續載入下一個網頁 : 但是實際執行後 : 程式常常在進入while迴圈就再也沒有出來過了 : 請問一下我的寫法出了什麼問題呢? : 如果我這樣寫不對的話,要怎麼寫才能達到我要的效果呢? : 感謝各位的回答 這應該可以完全用event去傳遞呼叫,不需要用到Doevents int index=0; private void Start() { webBrowser.Navigate(a[index]); } private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { // dosomething index++; if(index<a.Length) { webBrowser.Navigate(a[index]);// or Start(); } } 個人意見 : DoEvents就和goto一樣...非必要...儘量別用^^" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.8.99
文章代碼(AID): #1Ed3_2Lm (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1Ed3_2Lm (C_Sharp)