Visual Studio 2010构建Web浏览器应用程序
创始人
2024-07-20 15:20:55
0

【51CTO独家特稿】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控件,最终的界面效果如下图所示。

创建WebBrowser

工具栏调整成图1所示的样子后,从工具箱拖动一个WebBrowser控件到Form上,根据Form的大小调整WebBrowser控件的大小和停靠位置,我将其停靠在底部,如图2所示。

调整WebBrowser控件的大小

接下来为WebBrowser控件设置一些默认属性,在WebBrowser控件上点击右键,选择“属性”,打开属性对话框,随意设置你喜欢的属性,Url属性表示要在WebBrowser中显示的Web页面,如图3所示,我将http://www.c-sharpcorner.com设为默认页面。

将http://www.c-sharpcorner.com设为默认页面

Navigate

Navigate是WebBrowser中用来打开URL的一个方法。

webBrowser1.Navigate(new Uri(url));

下面的代码片段是“转到”按钮点击事件处理程序的一部分。

  1. // GO button click event handler.  
  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.     }  

WebBrowser控件也内置了一些浏览器功能,如转到主页,前进,后退,刷新,保存,打印和其它功能,下面的代码片段显示了如何使用GoForeward,GoBack,GoHome和Refresh方法。

  1. // Home button takes user home  
  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();  

ShowSaveAsDialog,ShowPrintDialog,ShowPrintPreviewDialog和ShowProperties方法分别用于显示另存为,打印,打印预览和属性对话框,下面的代码片段展示了如何调用这些方法。

  1. // Save button launches SaveAs dialog  
  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();  

小结

在这篇文章中,我们介绍了在设计以及运行时如何在Windows Forms中创建WebBrowser控件,随后我们介绍了如何使用各种属性和方法,本文仅仅做了一些简要的介绍,更多的功能还得等待你在实际工作中去发现。

原文标题:Building Web Browser Application using Visual Studio 2010

【编辑推荐】 

  1. Visual Studio自定义调整窗体的两个小技巧
  2. Visual Studio 2010中关于C#的几点改进
  3. Visual Studio 2010及.Net 4新功能一览
  4. 提高效率 用好Visual Studio 2010自定义代码段
     

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...