2011-03-24 93 views
0
我在我的項目中使用WBC

,但我並不需要它被添加到形式,我試着打導航的方法,但仍然得到空字符串檢索WebBrowser控件到窗體

的WBC時。文件名!

+0

你可以發佈代碼示例嗎?你是否在等待文檔在完成加載之前完成加載? – 2011-03-24 12:31:47

+0

如果你只是想從互聯網上下載文件,有更多的有效的可能性,例如WebClient類。 – Mario 2011-03-24 12:32:26

+0

@evan Mulawski你可以看看下面的答案評論中的代碼 – 2011-03-24 13:54:35

回答

2

導航是異步的,這意味着它會轉到另一個線程上的該網頁,並且不會等到它完成。您正試圖立即獲得標題,但尚未設置。

您應該附加到WBC上的DocumentCompleted事件並檢查標題。

+0

我做到了,但動態事件沒有解僱! – 2011-03-24 13:49:27

+0

webBrowser.Name =「mybrow」; webBrowser.DocumentCompleted + = new WebBrowserDocumentCompletedEventHandler(Split); webBrowser.Navigate( 「http://www.site.com」); MessageBox.Show(webBrowser.DocumentTitle); public void Split(object sender,WebBrowserDocumentCompletedEventArgs e) {MessageBox.Show(「Salam」); } – 2011-03-24 13:49:47

+0

它現在使用相同的代碼! – 2011-03-24 14:34:40

1

正如注意到標題只能在設置後才能檢索。要知道這種情況何時發生,除了DocumentCompleted事件之外,還有一個便利的WebBrowser.DocumentTitleChanged事件可以簡化您的邏輯。

另外,大概,後一個事件也會在文檔通過Javascript加載後標題發生變化時觸發。

+0

合乎邏輯,但問題是在WBC .Navigate()之後調用WBC.DocumentTitle。 – 2011-03-25 18:16:03

+0

不確定你的意思。無論如何,如果您從DocumentTitleChanged事件處理程序中訪問DocumentTitle,則標題值將可用。 – alexei 2011-03-26 16:31:09