Visual Studio 2010構建Web瀏覽器應用程序
2001年,我使用C#中的WebBrowser ActiveX控件編寫了我的第一個應用程序,點此閱讀,Kapil Sony寫了一篇文章介紹了C# 2.0中的WebBrowser控件,每一次.NET新版本發布,控件和功能都會發生一些變化,現在,WebBrowser控件已屬于Windows Forms控件的一部分,本文是基于.NET 4.0和Visual Studio 2010完成的,如果你使用的不是Visual Studio 2010,可以去MSDN網站下載免費的Visual C# 2010 Express。
WebBrowser控件允許開發人員在Windows Forms應用程序內構建Web瀏覽功能,本文將介紹在Windows Forms應用程序中如何使用WebBrowser控件。
創建WebBrowser
首先使用Visual Studio 2010或Visual C# 2010 Express創建一個Windows Forms應用程序,在這個程序中,我將會給窗體(Form)添加一個ToolStrip和一個WebBrowser控件,在ToolStrip控件中,我添加了一個Label,TextBox和一些Button控件,最終的界面效果如下圖所示。
工具欄調整成圖1所示的樣子后,從工具箱拖動一個WebBrowser控件到Form上,根據Form的大小調整WebBrowser控件的大小和停靠位置,我將其停靠在底部,如圖2所示。
接下來為WebBrowser控件設置一些默認屬性,在WebBrowser控件上點擊右鍵,選擇“屬性”,打開屬性對話框,隨意設置你喜歡的屬性,Url屬性表示要在WebBrowser中顯示的Web頁面,如圖3所示,我將http://www.c-sharpcorner.com設為默認頁面。
Navigate
Navigate是WebBrowser中用來打開URL的一個方法。
下面的代碼片段是“轉到”按鈕點擊事件處理程序的一部分。
2. private void GoButton_Click(object sender, EventArgs e)
3. {
4. if (String.IsNullOrEmpty(UrlTextBox.Text) ||
5. UrlTextBox.Text.Equals("about:blank"))
6. {
7. MessageBox.Show("Enter a valid URL.");
8. UrlTextBox.Focus();
9. return;
10. }
11. OpenURLInBrowser(UrlTextBox.Text);
12. }
13.
14. private void OpenURLInBrowser(string url)
15. {
16. if (!url.StartsWith("http://") &&
17. !url.StartsWith("https://"))
18. {
19. url = "http://" + url;
20. }
21. try
22. {
23. webBrowser1.Navigate(new Uri(url));
24. }
25. catch (System.UriFormatException)
26. {
27. return;
28. }
29. }
WebBrowser控件也內置了一些瀏覽器功能,如轉到主頁,前進,后退,刷新,保存,打印和其它功能,下面的代碼片段顯示了如何使用GoForeward,GoBack,GoHome和Refresh方法。
2. private void HomeButton_Click(object sender, EventArgs e)
3. {
4. webBrowser1.GoHome();
5. }
6.
7. // Go back
8. private void BackButton_Click(object sender, EventArgs e)
9. {
10. if (webBrowser1.CanGoBack)
11. webBrowser1.GoBack();
12. }
13.
14. // Next
15. private void NextButton_Click(object sender, EventArgs e)
16. {
17. if (webBrowser1.CanGoForward)
18. webBrowser1.GoForward();
19. }
20.
21. // Refresh
22. private void RefreshButton_Click(object sender, EventArgs e)
23. {
24. webBrowser1.Refresh();
25. }
ShowSaveAsDialog,ShowPrintDialog,ShowPrintPreviewDialog和ShowProperties方法分別用于顯示另存為,打印,打印預覽和屬性對話框,下面的代碼片段展示了如何調用這些方法。
2. private void SaveButton_Click(object sender, EventArgs e)
3. {
4. webBrowser1.ShowSaveAsDialog();
5. }
6.
7. // PrintPreview button launches PrintPreview dialog
8. private void PrintPreviewButton_Click(object sender, EventArgs e)
9. {
10. webBrowser1.ShowPrintPreviewDialog();
11. }
12.
13. // Show Print dialog
14. private void PrintButton_Click(object sender, EventArgs e)
15. {
16. webBrowser1.ShowPrintDialog();
17. }
18. // Properties button
19. private void PropertiesButton_Click(object sender, EventArgs e)
20. {
21. webBrowser1.ShowPropertiesDialog();
22. }
小結
在這篇文章中,我們介紹了在設計以及運行時如何在Windows Forms中創建WebBrowser控件,隨后我們介紹了如何使用各種屬性和方法,本文僅僅做了一些簡要的介紹,更多的功能還得等待你在實際工作中去發現。