毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C#网络浏览器设计思路及源代码 第3页

更新时间:2010-3-5:  来源:毕业论文
C#网络浏览器设计思路及源代码 第3页
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

using System.IO;

namespace WebBrowser
{
 /// <summary>
 /// Form1 的摘要说明。
 /// </summary>
 public class MainForm : System.Windows.Forms.Form
 {
  #region Controls
  private System.Windows.Forms.Label lblAddress;
  private AxSHDocVw.AxWebBrowser mainBrowser;
  private System.Windows.Forms.Button btnGo;
  private System.Windows.Forms.MainMenu mainMenu1;
  private System.Windows.Forms.MenuItem menuItem5;
  private System.Windows.Forms.ImageList imageList1;
  private System.Windows.Forms.StatusBar mainStatus;
  private System.Windows.Forms.StatusBarPanel statusBarInfo;
  private System.Windows.Forms.ErrorProvider myErrorProvider;
  private System.Windows.Forms.MenuItem menu_File;
  private System.Windows.Forms.MenuItem menu_FileOpen;
  private System.Windows.Forms.MenuItem menu_FileSave;
  private System.Windows.Forms.MenuItem menu_FileSaveAs;
  private System.Windows.Forms.MenuItem menu_FileExit;
  private System.Windows.Forms.MenuItem menuItem16;
  private System.Windows.Forms.MenuItem menu_FileProperty;
  private System.Windows.Forms.MenuItem menu_EditCut;
  private System.Windows.Forms.MenuItem menu_EditCopy;
  private System.Windows.Forms.MenuItem menuEditPaste;
  private System.Windows.Forms.MenuItem menu_EditSelAll;
  private System.Windows.Forms.MenuItem menu_EditFind;
  private System.Windows.Forms.MenuItem menu_Edit;
  private System.Windows.Forms.MenuItem menu_View;
  private System.Windows.Forms.MenuItem menu_Tool;
  private System.Windows.Forms.MenuItem menu_Help;
  private System.Windows.Forms.MenuItem menu_HelpAbout;
  private System.Windows.Forms.MenuItem menu_ViewSource;
  private System.Windows.Forms.MenuItem menu_ToolInternet;
  private System.Windows.Forms.ToolBar mainToolBar;
  private System.Windows.Forms.TabControl mainTabCtrl;
  private System.Windows.Forms.Button btnCloseCurrent;
  private System.Windows.Forms.Button btnCloseAll;
  private System.Windows.Forms.ToolBarButton tbb_Back;
  private System.Windows.Forms.ToolBarButton tbb_Forward;
  private System.Windows.Forms.ToolBarButton tbb_Stop;
  private System.Windows.Forms.ToolBarButton tbb_Refresh;
  private System.Windows.Forms.ToolBarButton tbb_GoHome;
  private System.ComponentModel.IContainer components;
  private System.Windows.Forms.ComboBox comboAddress;
  private System.Windows.Forms.MenuItem menu_FileNew;
  private System.Windows.Forms.ToolBarButton tbb_New;
  private System.Windows.Forms.ToolBarButton toolBarButton2;
  private System.Windows.Forms.ToolBarButton toolBarButton3;
  private System.Windows.Forms.ToolBarButton toolBarButton1;
  #endregion
  private Guid cmdGuid = new Guid("ED016940-BD5B-11CF-BA4E-00C04FD70816");
  private string FormerListFile = "FormerList.dat";
  private ArrayList VisitedList = new ArrayList();

  public MainForm()
  {
   //
   // Windows 窗体设计器支持所必需的
   //
   InitializeComponent();

   //
   // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
   //
  }

  /// <summary>
  /// 清理所有正在使用的资源。
  /// </summary>
  protected override void Dispose( bool disposing )
  {
   if( disposing )
   {
    if (components != null)
    {
     components.Dispose();
    }
   }
   base.Dispose( disposing );
  }

  #region Windows 窗体设计器生成的代码
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
   this.components = new System.ComponentModel.Container();
   System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MainForm));
   this.mainBrowser = new AxSHDocVw.AxWebBrowser();
   this.lblAddress = new System.Windows.Forms.Label();
   this.btnGo = new System.Windows.Forms.Button();
   this.mainMenu1 = new System.Windows.Forms.MainMenu();
   this.menu_File = new System.Windows.Forms.MenuItem();
   this.menu_FileOpen = new System.Windows.Forms.MenuItem();
   this.menu_FileSave = new System.Windows.Forms.MenuItem();
   this.menu_FileSaveAs = new System.Windows.Forms.MenuItem();
   this.menuItem5 = new System.Windows.Forms.MenuItem();
   this.menu_FileProperty = new System.Windows.Forms.MenuItem();
   this.menu_FileExit = new System.Windows.Forms.MenuItem();
   this.menu_Edit = new System.Windows.Forms.MenuItem();
   this.menu_EditCut = new System.Windows.Forms.MenuItem();
   this.menu_EditCopy = new System.Windows.Forms.MenuItem();
   this.menuEditPaste = new System.Windows.Forms.MenuItem();
   this.menuItem16 = new System.Windows.Forms.MenuItem();
   this.menu_EditSelAll = new System.Windows.Forms.MenuItem();
   this.menu_EditFind = new System.Windows.Forms.MenuItem();
   this.menu_View = new System.Windows.Forms.MenuItem();
   this.menu_ViewSource = new System.Windows.Forms.MenuItem();
   this.menu_Tool = new System.Windows.Forms.MenuItem();
   this.menu_ToolInternet = new System.Windows.Forms.MenuItem();
   this.menu_Help = new System.Windows.Forms.MenuItem();
   this.menu_HelpAbout = new System.Windows.Forms.MenuItem();
   this.imageList1 = new System.Windows.Forms.ImageList(this.components);
   this.mainStatus = new System.Windows.Forms.StatusBar();
   this.statusBarInfo = new System.Windows.Forms.StatusBarPanel();
   this.myErrorProvider = new System.Windows.Forms.ErrorProvider();
   this.mainToolBar = new System.Windows.Forms.ToolBar();
   this.tbb_Back = new System.Windows.Forms.ToolBarButton();
   this.tbb_Forward = new System.Windows.Forms.ToolBarButton();
   this.toolBarButton2 = new System.Windows.Forms.ToolBarButton();
   this.tbb_Stop = new System.Windows.Forms.ToolBarButton();
   this.tbb_Refresh = new System.Windows.Forms.ToolBarButton();
   this.tbb_GoHome = new System.Windows.Forms.ToolBarButton();
   this.toolBarButton3 = new System.Windows.Forms.ToolBarButton();
   this.mainTabCtrl = new System.Windows.Forms.TabControl();
   this.btnCloseCurrent = new System.Windows.Forms.Button();
   this.btnCloseAll = new System.Windows.Forms.Button();
   this.comboAddress = new System.Windows.Forms.ComboBox();
   this.menu_FileNew = new System.Windows.Forms.MenuItem();
   this.tbb_New = new System.Windows.Forms.ToolBarButton();
   this.toolBarButton1 = new System.Windows.Forms.ToolBarButton();
   ((System.ComponentModel.ISupportInitialize)(this.mainBrowser)).BeginInit();
   ((System.ComponentModel.ISupportInitialize)(this.statusBarInfo)).BeginInit();
   this.SuspendLayout();
   //
   // mainBrowser
   //
   this.mainBrowser.Enabled = true;
   this.mainBrowser.Location = new System.Drawing.Point(576, 104);
   this.mainBrowser.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("mainBrowser.OcxState")));
   this.mainBrowser.Size = new System.Drawing.Size(16, 16);
   this.mainBrowser.TabIndex = 0;
   this.mainBrowser.Visible = false;
   this.mainBrowser.StatusTextChange += new AxSHDocVw.DWebBrowserEvents2_StatusTextChangeEventHandler(this.mainBrowser_StatusTextChange);
   this.mainBrowser.WindowClosing += new AxSHDocVw.DWebBrowserEvents2_WindowClosingEventHandler(this.mainBrowser_WindowClosing);
   this.mainBrowser.NewWindow3 += new AxSHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(this.mainBrowser_NewWindow3);
   this.mainBrowser.NavigateError += new AxSHDocVw.DWebBrowserEvents2_NavigateErrorEventHandler(this.mainBrowser_NavigateError);
   this.mainBrowser.CommandStateChange += new AxSHDocVw.DWebBrowserEvents2_CommandStateChangeEventHandler(this.mainBrowser_CommandStateChange);
   this.mainBrowser.TitleChange += new AxSHDocVw.DWebBrowserEvents2_TitleChangeEventHandler(this.mainBrowser_TitleChange);
   this.mainBrowser.NavigateComplete2 += new AxSHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(this.mainBrowser_NavigateComplete2);
   this.mainBrowser.DocumentComplete += new AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEventHandler(this.mainBrowser_DocumentComplete);
   this.mainBrowser.ProgressChange += new AxSHDocVw.DWebBrowserEvents2_ProgressChangeEventHandler(this.mainBrowser_ProgressChange);
   this.mainBrowser.NewWindow2 += new AxSHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(this.mainBrowser_NewWindow2);
   this.mainBrowser.BeforeNavigate2 += new AxSHDocVw.DWebBrowserEvents2_BeforeNavigate2EventHandler(this.mainBrowser_BeforeNavigate2);
   //
   // lblAddress
   //
   this.lblAddress.Location = new System.Drawing.Point(0, 48);
   this.lblAddress.Name = "lblAddress";
   this.lblAddress.Size = new System.Drawing.Size(48, 16);
   this.lblAddress.TabIndex = 1;
   this.lblAddress.Text = "地址";
   //
   // btnGo
   //
   this.btnGo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
   this.btnGo.Location = new System.Drawing.Point(320, 40);
   this.btnGo.Name = "btnGo";
   this.btnGo.Size = new System.Drawing.Size(75, 24);
   this.btnGo.TabIndex = 3;
   this.btnGo.Text = "转到";
   this.btnGo.Click += new System.EventHandler(this.btnGo_Click);
   //
   // mainMenu1
   //
   this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                       this.menu_File,
                       this.menu_Edit,
                       this.menu_View,
                       this.menu_Tool,
                       this.menu_Help});
   //
   // menu_File
   //
   this.menu_File.Index = 0;
   this.menu_File.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                       this.menu_FileNew,
                       this.menu_FileOpen,
                       this.menu_FileSave,
                       this.menu_FileSaveAs,
                       this.menuItem5,
                       this.menu_FileProperty,
                       this.menu_FileExit});
   this.menu_File.Text = "文件(&F)";
   //
   // menu_FileOpen
   //
   this.menu_FileOpen.Index = 1;
   this.menu_FileOpen.Shortcut = System.Windows.Forms.Shortcut.CtrlO;
   this.menu_FileOpen.Text = "打开";
   this.menu_FileOpen.Click += new System.EventHandler(this.menu_FileOpen_Click);
   //
   // menu_FileSave
   //
   this.menu_FileSave.Index = 2;
   this.menu_FileSave.Shortcut = System.Windows.Forms.Shortcut.CtrlS;
   this.menu_FileSave.Text = "保存";
   this.menu_FileSave.Click += new System.EventHandler(this.menu_FileSave_Click);
   //
   // menu_FileSaveAs
   //
   this.menu_FileSaveAs.Index = 3;
   this.menu_FileSaveAs.Text = "另存为...";
   this.menu_FileSaveAs.Click += new System.EventHandler(this.menu_FileSaveAs_Click);
   //
   // menuItem5
   //
   this.menuItem5.Index = 4;
   this.menuItem5.Text = "-";
   //
   // menu_FileProperty
   //
   this.menu_FileProperty.Index = 5;
   this.menu_FileProperty.Text = "属性(&R)";
   this.menu_FileProperty.Click += new System.EventHandler(this.menu_FileProperty_Click);
   //
   // menu_FileExit
   //
   this.menu_FileExit.Index = 6;
   this.menu_FileExit.Shortcut = System.Windows.Forms.Shortcut.CtrlX;
   this.menu_FileExit.Text = "退出(&C)";
   this.menu_FileExit.Click += new System.EventHandler(this.menu_FileExit_Click);
   //
   // menu_Edit
   //
   this.menu_Edit.Index = 1;
   this.menu_Edit.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                       this.menu_EditCut,
                       this.menu_EditCopy,
                       this.menuEditPaste,
                       this.menuItem16,
                       this.menu_EditSelAll,
                       this.menu_EditFind});
   this.menu_Edit.Text = "编辑(&E)";
   //
   // menu_EditCut
   //
   this.menu_EditCut.Index = 0;
   this.menu_EditCut.Shortcut = System.Windows.Forms.Shortcut.CtrlX;
   this.menu_EditCut.Text = "剪切";
   this.menu_EditCut.Click += new System.EventHandler(this.menu_EditCut_Click);
   //
   // menu_EditCopy
   //
   this.menu_EditCopy.Index = 1;
   this.menu_EditCopy.Shortcut = System.Windows.Forms.Shortcut.CtrlC;
   this.menu_EditCopy.Text = "复制";
   this.menu_EditCopy.Click += new System.EventHandler(this.menu_EditCopy_Click);
   //
   // menuEditPaste
   //
   this.menuEditPaste.Index = 2;
   this.menuEditPaste.Shortcut = System.Windows.Forms.Shortcut.CtrlV;
   this.menuEditPaste.Text = "粘贴";
   this.menuEditPaste.Click += new System.EventHandler(this.menuEditPaste_Click);
   //
   // menuItem16
   //
   this.menuItem16.Index = 3;
   this.menuItem16.Text = "-";
   //
   // menu_EditSelAll
   //
   this.menu_EditSelAll.Index = 4;
   this.menu_EditSelAll.Shortcut = System.Windows.Forms.Shortcut.CtrlA;
   this.menu_EditSelAll.Text = "全选";
   this.menu_EditSelAll.Click += new System.EventHandler(this.menu_EditSelAll_Click);
   //
   // menu_EditFind
   //
   this.menu_EditFind.Index = 5;
   this.menu_EditFind.Shortcut = System.Windows.Forms.Shortcut.CtrlF;
   this.menu_EditFind.Text = "查找";
   this.menu_EditFind.Click += new System.EventHandler(this.menu_EditFind_Click);
   //
   // menu_View
   //
   this.menu_View.Index = 2;
   this.menu_View.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                       this.menu_ViewSource});
   this.menu_View.Text = "查看(&V)";
   //
   // menu_ViewSource
   //
   this.menu_ViewSource.Index = 0;
   this.menu_ViewSource.Text = "源文件";
   this.menu_ViewSource.Click += new System.EventHandler(this.menu_ViewSource_Click);
   //
   // menu_Tool
   //
   this.menu_Tool.Index = 3;
   this.menu_Tool.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                       this.menu_ToolInternet});
   this.menu_Tool.Text = "工具(&T)";
   //
   // menu_ToolInternet
   //
   this.menu_ToolInternet.Index = 0;
   this.menu_ToolInternet.Text = "Internet选项";
   this.menu_ToolInternet.Click += new System.EventHandler(this.menu_ToolInternet_Click);
   //
   // menu_Help
   //
   this.menu_Help.Index = 4;
   this.menu_Help.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                       this.menu_HelpAbout});
   this.menu_Help.Text = "帮助(&H)";
   //
   // menu_HelpAbout
   //
   this.menu_HelpAbout.Index = 0;
   this.menu_HelpAbout.Text = "关于";
   this.menu_HelpAbout.Click += new System.EventHandler(this.menu_HelpAbout_Click);
   //
   // imageList1
   //
   this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
   this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
   this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
   //
   // mainStatus
   //
   this.mainStatus.Location = new System.Drawing.Point(0, 297);
   this.mainStatus.Name = "mainStatus";
   this.mainStatus.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
                        this.statusBarInfo});
   this.mainStatus.ShowPanels = true;
   this.mainStatus.Size = new System.Drawing.Size(616, 20);
   this.mainStatus.TabIndex = 6;
   //
   // statusBarInfo
   //
   this.statusBarInfo.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Spring;
   this.statusBarInfo.Width = 600;
   //
   // myErrorProvider
   //
   this.myErrorProvider.ContainerControl = this;
   //
   // mainToolBar
   //
   this.mainToolBar.Appearance = System.Windows.Forms.ToolBarAppearance.Flat;
   this.mainToolBar.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
                         this.tbb_New,
                         this.toolBarButton1,
                         this.tbb_Back,
                         this.tbb_Forward,
                         this.toolBarButton2,
                         this.tbb_Stop,
                         this.tbb_Refresh,
                         this.tbb_GoHome,
                         this.toolBarButton3});
   this.mainToolBar.ButtonSize = new System.Drawing.Size(60, 22);
   this.mainToolBar.DropDownArrows = true;
   this.mainToolBar.ImageList = this.imageList1;
   this.mainToolBar.Location = new System.Drawing.Point(0, 0);
   this.mainToolBar.Name = "mainToolBar";
   this.mainToolBar.ShowToolTips = true;
   this.mainToolBar.Size = new System.Drawing.Size(616, 28);
   this.mainToolBar.TabIndex = 7;
   this.mainToolBar.TextAlign = System.Windows.Forms.ToolBarTextAlign.Right;
   this.mainToolBar.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.mainToolBar_ButtonClick);
   //
   // tbb_Back
   //
   this.tbb_Back.ImageIndex = 1;
   this.tbb_Back.Text = "后退";
   this.tbb_Back.ToolTipText = "后退";
   //
   // tbb_Forward
   //
   this.tbb_Forward.ImageIndex = 2;
   this.tbb_Forward.Text = "前进";
   this.tbb_Forward.ToolTipText = "前进";
   //
   // toolBarButton2
   //
   this.toolBarButton2.Style = System.Windows.Forms.ToolBarButtonStyle.Separator;
   //
   // tbb_Stop
   //
   this.tbb_Stop.ImageIndex = 3;
   this.tbb_Stop.Text = "停止";
   this.tbb_Stop.ToolTipText = "停止";
   //
   // tbb_Refresh
   //
   this.tbb_Refresh.ImageIndex = 4;
   this.tbb_Refresh.Text = "刷新";
   this.tbb_Refresh.ToolTipText = "刷新";
   //
   // tbb_GoHome
   //
   this.tbb_GoHome.ImageIndex = 5;
   this.tbb_GoHome.Text = "主页";
   this.tbb_GoHome.ToolTipText = "主页";
   //
   // toolBarButton3
   //
   this.toolBarButton3.Style = System.Windows.Forms.ToolBarButtonStyle.Separator;
   //
   // mainTabCtrl
   //
   this.mainTabCtrl.Appearance = System.Windows.Forms.TabAppearance.FlatButtons;
   this.mainTabCtrl.Location = new System.Drawing.Point(8, 64);
   this.mainTabCtrl.Name = "mainTabCtrl";
   this.mainTabCtrl.SelectedIndex = 0;
   this.mainTabCtrl.Size = new System.Drawing.Size(560, 232);
   this.mainTabCtrl.TabIndex = 8;
   this.mainTabCtrl.DoubleClick += new System.EventHandler(this.mainTabCtrl_DoubleClick);
   this.mainTabCtrl.SelectedIndexChanged += new System.EventHandler(this.mainTabCtrl_SelectedIndexChanged);
   //
   // btnCloseCurrent
   //
   this.btnCloseCurrent.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
   this.btnCloseCurrent.Location = new System.Drawing.Point(400, 40);
   this.btnCloseCurrent.Name = "btnCloseCurrent";
   this.btnCloseCurrent.Size = new System.Drawing.Size(88, 24);
   this.btnCloseCurrent.TabIndex = 9;
   this.btnCloseCurrent.Text = "关闭当前页";
   this.btnCloseCurrent.Click += new System.EventHandler(this.btnCloseCurrent_Click);
   //
   // btnCloseAll
   //
   this.btnCloseAll.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
   this.btnCloseAll.Location = new System.Drawing.Point(496, 40);
   this.btnCloseAll.Name = "btnCloseAll";
   this.btnCloseAll.Size = new System.Drawing.Size(88, 24);
   this.btnCloseAll.TabIndex = 10;
   this.btnCloseAll.Text = "关闭所有页";
   this.btnCloseAll.Click += new System.EventHandler(this.btnCloseAll_Click);
   //
   // comboAddress
   //
   this.comboAddress.Location = new System.Drawing.Point(48, 40);
   this.comboAddress.Name = "comboAddress";
   this.comboAddress.Size = new System.Drawing.Size(264, 20);
   this.comboAddress.TabIndex = 11;
   this.comboAddress.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboAddress_KeyPress);
   //
   // menu_FileNew
   //
   this.menu_FileNew.Index = 0;
   this.menu_FileNew.Text = "新建";
   this.menu_FileNew.Click += new System.EventHandler(this.menu_FileNew_Click);
   //
   // tbb_New
   //
   this.tbb_New.ImageIndex = 0;
   this.tbb_New.Text = "新建";
   this.tbb_New.ToolTipText = "新建";
   //
   // toolBarButton1
   //
   this.toolBarButton1.Style = System.Windows.Forms.ToolBarButtonStyle.Separator;
   //
   // MainForm
   //
   this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
   this.ClientSize = new System.Drawing.Size(616, 317);
   this.Controls.Add(this.comboAddress);
   this.Controls.Add(this.btnCloseAll);
   this.Controls.Add(this.btnCloseCurrent);
   this.Controls.Add(this.mainTabCtrl);
   this.Controls.Add(this.mainToolBar);
   this.Controls.Add(this.mainStatus);
   this.Controls.Add(this.btnGo);
   this.Controls.Add(this.lblAddress);
   this.Controls.Add(this.mainBrowser);
   this.Menu = this.mainMenu1;
   this.Name = "MainForm";
   this.Text = "网页浏览器";
   this.Closing += new System.ComponentModel.CancelEventHandler(this.MainForm_Closing);
   this.SizeChanged += new System.EventHandler(this.MainForm_SizeChanged);
   this.Load += new System.EventHandler(this.MainForm_Load);
   this.DoubleClick += new System.EventHandler(this.MainForm_DoubleClick);
   ((System.ComponentModel.ISupportInitialize)(this.mainBrowser)).EndInit();
   ((System.ComponentModel.ISupportInitialize)(this.statusBarInfo)).EndInit();
   this.ResumeLayout(false);

  }
  #endregion

  /// <summary>
  /// 应用程序的主入口点。
  /// </summary>
  [STAThread]
  static void Main()
  {
   Application.Run(new MainForm());
  }

  private void comboAddress_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
  {
   if(e.KeyChar == 13) //浏览指定网页
   {
    this.NavigateUrl(this.comboAddress.Text);
   }
   else
   {
    if (comboAddress.Text != "")
    {
     string strText = comboAddress.Text;
     for (int i=comboAddress.Items.Count-1;i>=0;i--) {
      this.comboAddress.Items.RemoveAt(i);
     }
     foreach (object obj in VisitedList) {
      string strList = obj as string;
      if (strList != null) {
       if (strList.StartsWith(strText)
        || strList.StartsWith("http://" + strText)
        || strList.StartsWith("http://www." + strText)) {
        this.comboAddress.Items.Add(strList);
       }
      }
     
     }
     this.comboAddress.DroppedDown = true;
    }
   }
  }
  private void MainForm_SizeChanged(object sender, System.EventArgs e)
  {
   ResizeWindow();
  }

  private void MainForm_Load(object sender, System.EventArgs e)
  {
   ResizeWindow();
   CreateNewWebBrowser();
   LoadFormerList();
  }
  private void MainForm_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  {
   SaveFormerList();
  }
  #region Personal Methods
  private void NavigateUrl(string strUrl)
  {
   GetCurrentBrowser().Navigate(strUrl);
  }
  private void LoadFormerList()
  {
    FileInfo finfo = new FileInfo(FormerListFile);
    FileStream fs = finfo.Open(FileMode.OpenOrCreate,
     FileAccess.ReadWrite);
    StreamReader sr = new StreamReader(fs);
    string strList = sr.ReadLine();
    while(strList != null){
     VisitedList.Add(strList.Trim());
     strList = sr.ReadLine();
    }
    sr.Close();
    fs.Close();
  }
  private void SaveFormerList()
  {
   FileInfo finfo = new FileInfo(FormerListFile);
   FileStream fs = finfo.Open(
    FileMode.OpenOrCreate | FileMode.Truncate,
    FileAccess.ReadWrite);
   StreamWriter sw = new StreamWriter(fs);
   foreach (object obj in VisitedList) {
    string strList = obj as string;
    if(strList != null){
     sw.WriteLine(strList);
    }
   }
   sw.Close();
   fs.Close();
  }
  private AxSHDocVw.AxWebBrowser CreateNewWebBrowser()
  {
   AxSHDocVw.AxWebBrowser _axWebBrowser = new AxSHDocVw.AxWebBrowser();
   _axWebBrowser.Tag = new HE_WebBrowserTag();
   TabPage _TabPage = new TabPage();
   _TabPage.Controls.Add(_axWebBrowser);
   _axWebBrowser.Dock = DockStyle.Fill;
   _axWebBrowser.BeforeNavigate2 += new
    AxSHDocVw.DWebBrowserEvents2_BeforeNavigate2EventHandler(
    this.mainBrowser_BeforeNavigate2);
   _axWebBrowser.DocumentComplete += new
    AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEventHandler(
    this.mainBrowser_DocumentComplete);
   _axWebBrowser.NavigateComplete2 += new
    AxSHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(
    this.mainBrowser_NavigateComplete2);
   _axWebBrowser.NavigateError += new
    AxSHDocVw.DWebBrowserEvents2_NavigateErrorEventHandler(
    this.mainBrowser_NavigateError);
   _axWebBrowser.NewWindow2 += new
    AxSHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(
    this.mainBrowser_NewWindow2);
   _axWebBrowser.ProgressChange += new
    AxSHDocVw.DWebBrowserEvents2_ProgressChangeEventHandler(
    this.mainBrowser_ProgressChange);
   _axWebBrowser.StatusTextChange += new
    AxSHDocVw.DWebBrowserEvents2_StatusTextChangeEventHandler(
    this.mainBrowser_StatusTextChange);
   _axWebBrowser.TitleChange += new
    AxSHDocVw.DWebBrowserEvents2_TitleChangeEventHandler(
    this.mainBrowser_TitleChange);
   _axWebBrowser.CommandStateChange += new
    AxSHDocVw.DWebBrowserEvents2_CommandStateChangeEventHandler(
    this.mainBrowser_CommandStateChange);

   this.mainTabCtrl.TabPages.Add(_TabPage);
   this.mainTabCtrl.SelectedTab = _TabPage;
   return _axWebBrowser;
  }
  private void ResizeWindow()
  {
   this.lblAddress.Left = 0;
   this.lblAddress.Width = 30;
   this.lblAddress.Top = this.mainToolBar.Bottom + 2;;
   this.lblAddress.Height = 25;

   this.comboAddress.Left = this.lblAddress.Right;
   this.comboAddress.Width = this.ClientRectangle.Width - this.lblAddress.Width - 220;
   this.comboAddress.Top = this.lblAddress.Top;
   this.comboAddress.Height = 25;
  
   this.btnGo.Left = this.comboAddress.Right;
   this.btnGo.Width = 60;
   this.btnCloseCurrent.Left = this.btnGo.Right;
   this.btnCloseCurrent.Width = 80;
   this.btnCloseAll.Width = 80;
   this.btnCloseAll.Left = this.btnCloseCurrent.Right;
   this.btnCloseCurrent.Top = this.btnCloseAll.Top = this.btnGo.Top = this.lblAddress.Top;
   this.btnCloseCurrent.Height = this.btnCloseAll.Height = this.btnGo.Height = 25;

   this.mainTabCtrl.Left = 0;
   this.mainTabCtrl.Top = this.lblAddress.Bottom;
   this.mainTabCtrl.Width = this.ClientRectangle.Width;
   this.mainTabCtrl.Height = this.mainStatus.Top - this.lblAddress.Bottom;
  }
  private enum MiscCommandTarget { Find = 1, ViewSource, Options }
  private AxSHDocVw.AxWebBrowser GetCurrentBrowser()
  {
   try
   {
    if(this.mainTabCtrl.SelectedTab.Controls.Count > 0)
    {
     AxSHDocVw.AxWebBrowser brow =
      (AxSHDocVw.AxWebBrowser)
      this.mainTabCtrl.SelectedTab.Controls[0];
     return brow;
    }
    else
    {
     return null;
    }
   }
   catch
   {
    return null;
   }
  }
  private mshtml.HTMLDocument GetDocument()
  {
   try
   {
    AxSHDocVw.AxWebBrowser brow = GetCurrentBrowser();
    if (brow != null) {
     mshtml.HTMLDocument htm =
      (mshtml.HTMLDocument)brow.Document;
     return htm;
    }
    else
    {
     return null;
    }
   }catch
   {
    return null;
   }
  } 
  public void ViewSource()
  {
   IOleCommandTarget cmdt;
   Object o = new object();
   try
   {
    cmdt = (IOleCommandTarget)GetDocument();
    cmdt.Exec(ref cmdGuid, (uint)MiscCommandTarget.ViewSource,
     (uint)SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, ref o, ref o);
   }catch{}
  }

  public void Find()
  {
   IOleCommandTarget cmdt;
   Object o = new object();
   try
   {
    cmdt = (IOleCommandTarget)GetDocument();
    cmdt.Exec(ref cmdGuid, (uint)MiscCommandTarget.Find,
     (uint)SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, ref o, ref o);
   }catch{}
  }

  public void InternetOptions()
  {
   IOleCommandTarget cmdt;
   Object o = new object();
   try
   {
    cmdt = (IOleCommandTarget)GetDocument();
    cmdt.Exec(ref cmdGuid, (uint)MiscCommandTarget.Options,
     (uint)SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, ref o, ref o);
   }catch{}
  }
  #endregion
  #region MainBrowser事件响应
  private void mainBrowser_StatusTextChange(object sender, AxSHDocVw.DWebBrowserEvents2_StatusTextChangeEvent e)
  {
   this.statusBarInfo.Text = e.text;
  }

  private void mainBrowser_NewWindow3(object sender, AxSHDocVw.DWebBrowserEvents2_NewWindow3Event e)
  {
  }

  private void mainBrowser_WindowClosing(object sender, AxSHDocVw.DWebBrowserEvents2_WindowClosingEvent e)
  {
   this.Close();
  }

  private void mainBrowser_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e)
  {
   Cursor.Current = Cursors.Default;
   mshtml.HTMLDocument doc = GetDocument();
   this.comboAddress.Text = doc.url;
   this.mainTabCtrl.SelectedTab.Text = doc.title;
   this.mainTabCtrl.SelectedTab.ToolTipText = doc.title;
   if (!VisitedList.Contains(doc.url)) {
    VisitedList.Add(doc.url);
   }
  }

  private void mainBrowser_BeforeNavigate2(object sender, AxSHDocVw.DWebBrowserEvents2_BeforeNavigate2Event e)
  {
   Cursor.Current = Cursors.WaitCursor;
  }

  private void mainBrowser_NewWindow2(object sender, AxSHDocVw.DWebBrowserEvents2_NewWindow2Event e)
  {
   AxSHDocVw.AxWebBrowser _axWebBrowser = CreateNewWebBrowser();
   e.ppDisp = _axWebBrowser.Application;
   _axWebBrowser.RegisterAsBrowser = true;  
  }

  private void mainBrowser_DocumentComplete(object sender, AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e)
  {
  }

  private void mainBrowser_NavigateError(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateErrorEvent e)
  {
  
  }

  private void mainBrowser_ProgressChange(object sender, AxSHDocVw.DWebBrowserEvents2_ProgressChangeEvent e)
  {
  
  }

  private void mainBrowser_TitleChange(object sender, AxSHDocVw.DWebBrowserEvents2_TitleChangeEvent e)
  {
  
  }

  private void mainBrowser_CommandStateChange(object sender, AxSHDocVw.DWebBrowserEvents2_CommandStateChangeEvent e)
  {
  
  }
  #endregion
  #region 按钮事件响应
  private void btnGo_Click(object sender, System.EventArgs e)
  {
   this.NavigateUrl(this.comboAddress.Text);
  } 
  private void btnCloseCurrent_Click(object sender, System.EventArgs e)
  {
   this.mainTabCtrl.SelectedTab.Dispose();
   if (this.mainTabCtrl.TabPages.Count == 0) {
    this.CreateNewWebBrowser();
   }
  }
  private void btnCloseAll_Click(object sender, System.EventArgs e)
  {
   for (int pagecount = this.mainTabCtrl.TabPages.Count;
    pagecount > 0;pagecount--) {
    this.mainTabCtrl.TabPages[pagecount-1].Dispose();
   }
   this.CreateNewWebBrowser();
  }
  #endregion
  #region Toolbar事件响应
  private void mainToolBar_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
  {
   if(e.Button.Equals(this.tbb_New))
   {
    try
    {
     CreateNewWebBrowser();
    }
    catch{};
   }
   if(e.Button.Equals(this.tbb_Back))
   {
    try
    {
     GetCurrentBrowser().GoBack();
    }
    catch{};
   }
   if(e.Button.Equals(this.tbb_Forward))
   {
    try
    {
     GetCurrentBrowser().GoForward();
    }
    catch{};
   }
   if(e.Button.Equals(this.tbb_Stop))
   {
    GetCurrentBrowser().Stop();
   }
   if(e.Button.Equals(this.tbb_Refresh))
   {
    GetCurrentBrowser().Refresh();
   }
   if(e.Button.Equals(this.tbb_GoHome))
   {
    GetCurrentBrowser().GoHome();
   }
  }
  #endregion
  #region 菜单响应
  private void menu_FileNew_Click(object sender, System.EventArgs e)
  {
   CreateNewWebBrowser();
  } 
  private void menu_ToolInternet_Click(object sender, System.EventArgs e)
  {
   this.InternetOptions();
  }

  private void menu_FileOpen_Click(object sender, System.EventArgs e)
  {
   if (GetCurrentBrowser().LocationURL != "")
   {
    GetCurrentBrowser().ExecWB(SHDocVw.OLECMDID.OLECMDID_OPEN,
     SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);
   }
  }

  private void menu_FileSave_Click(object sender, System.EventArgs e)
  {
   if (GetCurrentBrowser().LocationURL != "") {
    GetCurrentBrowser().ExecWB(SHDocVw.OLECMDID.OLECMDID_SAVEAS,
     SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);
   }
  }

  private void menu_FileSaveAs_Click(object sender, System.EventArgs e)
  {
   if (GetCurrentBrowser().LocationURL != "")
   {
    GetCurrentBrowser().ExecWB(SHDocVw.OLECMDID.OLECMDID_SAVEAS,
     SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);
   }
  }
  private void menu_FileProperty_Click(object sender, System.EventArgs e)
  {
   if(GetCurrentBrowser().LocationURL!="")
   {
    GetCurrentBrowser().ExecWB(SHDocVw.OLECMDID.OLECMDID_PROPERTIES,
     SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);
   }
  }
  private void menu_EditFind_Click(object sender, System.EventArgs e)
  {
   this.Find();
  }

  private void menu_EditSelAll_Click(object sender, System.EventArgs e)
  {
   GetCurrentBrowser().ExecWB(SHDocVw.OLECMDID.OLECMDID_SELECTALL,
    SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);
  }

  private void menu_EditCut_Click(object sender, System.EventArgs e)
  {
   GetCurrentBrowser().ExecWB(SHDocVw.OLECMDID.OLECMDID_CUT,
    SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);
  }

  private void menu_EditCopy_Click(object sender, System.EventArgs e)
  {
   GetCurrentBrowser().ExecWB(SHDocVw.OLECMDID.OLECMDID_COPY,
    SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);
  }

  private void menuEditPaste_Click(object sender, System.EventArgs e)
  {
   GetCurrentBrowser().ExecWB(SHDocVw.OLECMDID.OLECMDID_PASTE,
    SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);
  }

  private void menu_ViewSource_Click(object sender, System.EventArgs e)
  {
   this.ViewSource();
  }

  private void menu_AddToFavor_Click(object sender, System.EventArgs e)
  {
  }

  private void menu_HelpAbout_Click(object sender, System.EventArgs e)
  {
   MessageBox.Show("网页浏览器1.0","网页浏览器",MessageBoxButtons.OK,
    MessageBoxIcon.Information);
  }
  private void menu_FileExit_Click(object sender, System.EventArgs e)
  {
   this.Close();
  }
  #endregion
  #region TabControl 事件响应
  private void mainTabCtrl_SelectedIndexChanged(object sender, System.EventArgs e)
  {
   if (GetDocument() != null) {
    this.comboAddress.Text = GetDocument().url;
   }
   else
   {
    this.comboAddress.Text = "about:blank";
   }
  }
  private bool IsSolved = false;
  private void mainTabCtrl_DoubleClick(object sender, System.EventArgs e)
  {
   try
   {
    for (int i=this.mainTabCtrl.TabCount-1;i>=0;i--)
    {
     Point pos = this.mainTabCtrl.PointToClient(Cursor.Position);
     if (this.mainTabCtrl.GetTabRect(i).Contains(pos))
     {
      this.mainTabCtrl.TabPages[i].Dispose();
      if(this.mainTabCtrl.TabCount == 0)
       CreateNewWebBrowser();
      IsSolved = true;
      return;
     }
    }
   }
   catch{} 
  }
  private void MainForm_DoubleClick(object sender, System.EventArgs e)
  {
   if (this.mainTabCtrl.ClientRectangle.Contains(
    this.PointToClient(Cursor.Position))) {
    IsSolved = false;
    this.mainTabCtrl_DoubleClick(sender,e);
    if(!IsSolved)
    {
     CreateNewWebBrowser();
    }
   }
  }
  #endregion
 }
}

上一页  [1] [2] [3] 

C#网络浏览器设计思路及源代码 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。