您的位置:首页 > 文旅 > 美景 > seo平台优化_网络营销怎么做有特色_免费b站推广网站入口2020_百度手机助手下载2022官方正版

seo平台优化_网络营销怎么做有特色_免费b站推广网站入口2020_百度手机助手下载2022官方正版

2025/4/29 8:43:49 来源:https://blog.csdn.net/UruseiBest/article/details/145667463  浏览:    关键词:seo平台优化_网络营销怎么做有特色_免费b站推广网站入口2020_百度手机助手下载2022官方正版
seo平台优化_网络营销怎么做有特色_免费b站推广网站入口2020_百度手机助手下载2022官方正版

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

WebBrowser控件类似于IE浏览器的文档界面(事实上IE也是使用的这个控件),它提供了显示网页及支持浏览器的其他文档的容器,同时还提供了浏览器相关的属性、方法和事件,通过它可以很方便地制作一个简易的浏览器,访问并显示网页。

WebBrowser常用属性:

  1. AllowNavigation:加载第一个网页后是否还可以导航到其他页。注意:如果设置为False,那么不管是用Url属性还是Navigate方法或者直接点击网页内的链接,都不能使WebBrowser导航到别的页面。
  2. AllowWebBrowserDrop:是否导航到拖放到它上面的文档。
  3. CanGoBack:指示导航历史记录中的上一页是否可用,如果可用,GoBack方法才能成功。
  4. CanGoForward:指示导航历史记录中的下一页是否可用,如果可用,GoForward方法才能成功。
  5. ContextMenuStrip:关联一个快捷菜单,这是一个ContextMenuStrip类型。
  6. IsWebBrowserContextMenuEnabled:是否启用IE快捷菜单。注意:如果设置了ContextMenuStrip对应的快捷菜单,不论IsWebBrowserContextMenuEnabled设置为True还是False,都会显示自定义的快捷菜单。
  7. Document:表示当前网页,这是一个 HtmlDocument类。它。
  8. DocumentStream:包含网页的内容的流。如果当前未加载网页,则为Nothing。
  9. DocumentText:网页的 HTML 内容。如果当前未加载网页,则为空字符串。
  10. DocumentTitle:文档的标题。
  11. DocumentType:文档的 Multipurpose Internet Mail Extensions (MIME) 类型。
  12. ReadyState:当前状态。
  13. ScriptErrorsSuppressed:是否显示脚本错误消息的对话框。设置为True则不显示对话框,否则显示对话框。
  14. Url:当前文档的URL。
  15. WebBrowserShortcutsEnabled:指示是否启用IE上键盘快捷键。设置为True则启用,否则不启用。
  16. StatusText:包括鼠标指针悬停其上时超链接的URL、当前加载的文档的URL等的状态信息。
  17. ObjectForScripting:网页脚本代码可以用来与应用程序进行通信的对象。

WebBrowser常用方法:

  1. Navigate:将指定的统一资源定位器 (URL) 处的文档加载到 WebBrowser 控件中,替换上一个文档。
  2. GoBack:导航到上一页。
  3. GoForward:导航到下一页。
  4. GoHome:导航到当前用户的主页。
  5. GoSearch:导航到当前用户的默认搜索页。
  6. Print:使用当前打印和页面设置打印当前显示的文档。
  7. ShowPageSetupDialog:打开IE浏览器的页面设置对话框。
  8. ShowPrintDialog:打开IE浏览器的“打印”对话框,但不设置页眉或页脚值。
  9. ShowPrintPreviewDialog:打开IE浏览器的“打印预览”对话框。
  10. ShowPropertiesDialog:打开IE浏览器“属性”对话框。
  11. ShowSaveAsDialog:打开IE浏览器的“保存网页”对话框,如果承载的文档不是HTML页,则打开其“保存”对话框。

WebBrowser常用事件:

  1. DocumentCompleted:当网页或文档载入完成时引发此事件,但是需要注意的是,很多网页有多个页面,会引发多次此事件。
  2. EncryptionLevelChanged:导航到或离开使用了加密的网站时发生。
  3. FileDownload:下载文件时发生。
  4. Navigated:导航到新文档并开始加载该文档时发生。
  5. Navigating:导航到新文档之前发生。它的参数e是一个WebBrowserNavigatingEventArgs类,通过设置e.Cancel=True可以取消对网页的访问。
  6. NewWindow:打开新窗口之前发生。
  7. StatusTextChanged:当StatusText属性值更改时发生。

23.1.1 制作一个简易浏览器

WebBrowser控件提供了NavigateGoHome、GoBack、GoForward等方法,通过这些方法,很容易完成一个简易的浏览器。

【例 23.1【项目:code23-001】简易网页浏览器。

        //打开网址

        private void btnNavigate_Click(object sender, EventArgs e)

        {

            WebBrowser1.Navigate(TextBox1.Text);

            //或者:

            //WebBrowser1.Url = New Uri(TextBox1.Text);

        }

        //后退

        private void btnGoBack_Click(object sender, EventArgs e)

        {

            if (WebBrowser1.CanGoBack)

                WebBrowser1.GoBack();

        }

        //前进

        private void btnGoForward_Click(object sender, EventArgs e)

        {

            if (WebBrowser1.CanGoForward)

                WebBrowser1.GoForward();

        }

        //打印预览

        private void btnPrintPreview_Click(object sender, EventArgs e)

        {

            WebBrowser1.ShowPrintPreviewDialog();

        }

        //网页另存为

        private void btnSaveAs_Click(object sender, EventArgs e)

        {

            WebBrowser1.ShowSaveAsDialog();

        }

        //载入网页完毕

        private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)

        {

            tsslStatus.Text = "载入完毕:" + e.Url.ToString();

        }

        //开始导航

        private void WebBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)

        {

            //阻止访问网址

            if( e.Url.ToString() == "http://www.google.com/" )

            {

                e.Cancel = true;

                tsslStatus.Text = "阻止载入:" + e.Url.ToString();

            }

        }

运行结果如下图所示:

图23-1 使用WebBrowser控件浏览网页

从图23-1可以看出,这个简易浏览器成功地将qq网页打开了。但是,点击页面上的链接,却不能打开相应的网页。造成这个问题的原因是,网页中链接的target属性设置为了_blank,也就是需要在新窗口中打开被链接的页面。

这个问题的解决方法请参看第23.3.3节。

注意:自制浏览器如果不希望使用者调用到类似IE中的右键菜单,应该设置IsWebBrowserContextMenuEnabled属性为false;如果不希望使用IE中的快捷键,应该设置WebBrowserShortcutsEnabled属性为false;如果希望限制用户停留在指定页面,应该设置AllowNavigation属性和AllowWebBrowserDrop属性为false。

23.1.2 获得网页源代码

大多数浏览器都提供了查看网页代码的功能,WebBrowser也提供了DocumentText属性来获得网页代码。

【例 23.2【项目:code23-002】获得网页源代码。

        //显示网页源代码

        private void btnGetSourceCode_Click(object sender, EventArgs e)

        {

            txtSourceCode.Text = WebBrowser1.DocumentText;

        }

运行结果如下图所示:

图23-2 显示网页源代码

一般情况下使用DocumentText即可获得正确结果,但是如果网页的charset设置不是Utf-8的话,获得的代码就会显示为乱码。可见单靠DocumentText是不能正确识别中文网页的。但可以通过DocumentStream属性来获得正确的网页源代码。

修改后的代码如下:

        private void btnGetSourceCode_Click(object sender, EventArgs e)

        {

            MemoryStream ms = new MemoryStream();

            ms = (MemoryStream)WebBrowser1.DocumentStream;

            //注意:使用的编码需要根据网页而定

            StreamReader sr = new StreamReader(ms, System.Text.Encoding.GetEncoding("utf-8"));

            txtSourceCode.Text = sr.ReadToEnd();

            sr.Close();

            ms.Close();

        }

再次运行,显示正确结果:

图23-3 显示网页源代码

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com