1、网络编程Web浏览器编程贵州大学实验报告学院:计算机学院 专业:软件工程 班级:软件123班 姓名*学号1*实验组实验时间2015-5-3指导教师蔡丽成绩实验项目名称Web浏览器编程实验目的通过本实验掌握C#中Web浏览器编程的方法,了解其区别与适用场合。实验要求掌握C#中Web浏览器编程的方法,了解其区别与适用场合。实验原理使用VS中的WebBrowser控件。实验环境熟悉Visual Studio开发环境,了解C#的UDP编程方法。实验步骤1. 设计程序界面。2. 实现程序功能。实验内容实现简单的Web浏览器,要求使用VS中的WebBrowser控件。实验数据核心代码using Syste
2、m;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Net;using System.IO;namespace SelfBrowser public partial class frmMain : Form public frmMain() InitializeComponent(); page
3、WebBrowser.Navigate( this.Text = pageWebBrowser.DocumentTitle + - SelfBrowser网页浏览器 1.0演示版; private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) switch(toolStrip1.Items.IndexOf(e.ClickedItem) case 0: pageSave.PerformClick(); break; case 1: pageBack.PerformClick(); break
4、; case 2: pageForward.PerformClick(); break; case 3: pageStop.PerformClick(); break; case 4: pageRefresh.PerformClick(); break; case 5: pageHome.PerformClick(); break; case 6: localView.PerformClick(); break; case 9: this.Text = urlAddress.Text + - SelfBrowser网页浏览器 1.0演示版; toolStripStatusView.Text =
5、 正在打开网页 + urlAddress.Text + .; pageWebBrowser.Navigate(urlAddress.Text); AddItem_urlAddress(); break; private void browserExit_Click(object sender, EventArgs e) Application.Exit(); private void pageBack_Click(object sender, EventArgs e) pageWebBrowser.GoBack(); private void pageForward_Click(object
6、sender, EventArgs e) pageWebBrowser.GoForward(); private void pageStop_Click(object sender, EventArgs e) pageWebBrowser.Stop(); private void pageRefresh_Click(object sender, EventArgs e) pageWebBrowser.Refresh(); private void pageHome_Click(object sender, EventArgs e) pageWebBrowser.GoHome(); /自定义,用
7、于添加地址项 private void AddItem_urlAddress() int AddressIndex = urlAddress.FindStringExact(urlAddress.Text); if (AddressIndex 0) urlAddress.Items.Add(urlAddress.Text); private void urlAddress_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar = (char)13) this.Text = urlAddress.Text + - SelfBrows
8、er网页浏览器 1.0演示版; toolStripStatusView.Text = 正在打开网页 + urlAddress.Text + .; pageWebBrowser.Navigate(urlAddress.Text); AddItem_urlAddress(); private void pageWebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) urlAddress.Text = pageWebBrowser.Url.ToString(); this.Text = p
9、ageWebBrowser.DocumentTitle + - SelfBrowser网页浏览器 1.0演示版; toolStripStatusView.Text = 完毕; private void pageSave_Click(object sender, EventArgs e) pageWebBrowser.ShowSaveAsDialog(); private void localView_Click(object sender, EventArgs e) pageWebBrowser.Navigate(c:/); /pageWebBrowser.Navigate(:20D04FE0
10、-3AEA-1069-A2D8-08002B30309D); urlAddress.Text = 我的电脑; this.Text = 我的电脑- SelfBrowser网页浏览器 1.0演示版; /使浏览器显示的页面随着用户选择网址栏中地址更新 private void urlAddress_SelectedIndexChanged(object sender, EventArgs e) pageWebBrowser.Navigate(urlAddress.Text); private void browserHelp_Click(object sender, EventArgs e) frm
11、Aboutbox dlgAboutbox = new frmAboutbox(); dlgAboutbox.Show(); private void toolbtnBaiduSearch_Click(object sender, EventArgs e) Encoding gb2312Encoding = Encoding.GetEncoding(UTF-8); string uri = + System.Web.HttpUtility.UrlEncode(tooltbxKeyword.Text, gb2312Encoding); / pageWebBrowser.Navigate(uri);
12、 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader sr = new StreamReader(stream, Encoding.UTF8); pageWebBrowser.DocumentText = sr.ReadToEnd(); sr.Close();
13、stream.Close(); private void gb2312Encode_Click(object sender, EventArgs e) frmCodeView dlgCodeView = new frmCodeView(); dlgCodeView.Text = 网页源码(采用GB2312编码); dlgCodeView.Show(); StreamReader sr = new StreamReader(pageWebBrowser.DocumentStream, Encoding.Default); /首先必须解码 dlgCodeView.setCode = sr.Read
14、ToEnd(); sr.Close(); private void Utf8Encode_Click(object sender, EventArgs e) frmCodeView dlgCodeView = new frmCodeView(); dlgCodeView.Text = 网页源码(采用UTF-8编码); dlgCodeView.Show(); StreamReader sr = new StreamReader(pageWebBrowser.DocumentStream, Encoding.UTF8); /解析采用UTF-8编码形式的网页 dlgCodeView.setCode
15、= sr.ReadToEnd(); sr.Close(); private void tooltbxKeyword_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar = (char)13) toolbtnBaiduSearch.PerformClick(); /使得本浏览器可以独立自主地显示网页。而无须依赖外部浏览器 private void pageWebBrowser_NewWindow(object sender, CancelEventArgs e) string newUrl = pageWebBrowser.Sta
16、tusText; toolStripStatusView.Text = 正在打开网页 + newUrl + .; pageWebBrowser.Navigate(newUrl); e.Cancel = true; /使外部无法捕获此事件 private void toolStripButton1_Click(object sender, EventArgs e) private void toolStripButton7_Click(object sender, EventArgs e) 实验运行及调试结果:主页: 点击页面:后退:实验总结通过实验掌握了C#中Web浏览器编程的方法。指导教师意见签名: 年 月 日
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2