• C#实现一个功能简单的web浏览器


    (1)新建一个windows应用窗体,命名为web浏览器,并为改窗体添加相应的控件,效果图如下:
     
    (2)为相应的控件添加相应的事件响应代码,完整代码如下:
    using System; using System.Collections.Generic;
    using System.ComponentModel; using System.Data;
    using System.Drawing; using System.Text;
    using System.Windows.Forms; using System.IO;
    namespace Web浏览器
    {
    public partial class Form1 : Form
    {
     public Form1()
    {
     InitializeComponent();
     }
    private void Navigate(string address)
    {
    if (String.IsNullOrEmpty(address))
    return;
     if (address.Equals("about:blank")) return;
     if (!address.StartsWith("http://")) address = "http://" + address;
    try {
    Cursor.Current = Cursors.WaitCursor; webBrowser1.Navigate(new Uri(address));
    }
    catch (System.UriFormatException)
    { return; }
     finally { Cursor.Current = Cursors.Default; }
    }
    private void Form1_Load(object sender, EventArgs e)
    {
    toolStrip1.ImageList = imageList1;
     tbBack.ImageIndex = 0;
     tbForward.ImageIndex = 1;
     tbRefrash.ImageIndex = 2;
    tbHome.ImageIndex = 3;
    }
    private void comboBox1_KeyDown(object sender, KeyEventArgs e)
    { if (e.KeyCode == Keys.Enter) {
    Navigate(comboBox1.Text);
     comboBox1.Items.Add(comboBox1.Text);
    }
    }
    private void tbBack_Click(object sender, EventArgs e)
    {
     webBrowser1.GoBack();
    }
    private void tbForward_Click(object sender, EventArgs e)
    {
        webBrowser1.GoForward();
     }
    private void tbRefrash_Click(object sender, EventArgs e)
    {
    i  f (!webBrowser1.Url.Equals("about:blank"))
       {
    webBrowser1.Refresh();
    }
    }
    private void tbHome_Click(object sender, EventArgs e)
    {
    webBrowser1.GoHome();
     }
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
     {
    Navigate(comboBox1.Text);
    }
    private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
    {
      openFileDialog1.ShowDialog();
      webBrowser1.DocumentText = File.ReadAllText(openFileDialog1.FileName,Encoding.GetEncodin("gb2312"));
    }
    private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
    {
       this.Close();
    }
    private void Form1_Resize(object sender, EventArgs e)
    {
       webBrowser1.Width = this.Width - 25;
       webBrowser1.Height = this.Height - 130;
       comboBox1.Width = this.Width - 55;
    }
    private void toolStripButton1_Click(object sender, EventArgs e)
    {
       webBrowser1.GoSearch();
    }
    }
    }
    (3)程序说明:本程序只是实现一个功能简单的web浏览器效果,功能强大的web浏览器,正在制作中,目的给初学者一个,开抛砖引玉的作用。 

  • 相关阅读:
    Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)
    Struts2的控制标签库和数据标签库(六)
    Struts2从后端向前端传递数据和OGNL访问用户自定义静态方法(五)
    两个小例子登录和显示全部用户信息的模块(四)
    Struts2的ServletAPI的获取和各种类型的数据获取(三)
    Action的三种实现方式,struts.xml配置的详细解释及其简单执行过程(二)
    Struts2的 两个蝴蝶飞,你好 (一)
    虚拟机安装Centos7系统后优化操作
    Java进程故障排查(CPU资源占用高,接口响应超时,功能接口停滞等)
    zabbix企业微信报警实现
  • 原文地址:https://www.cnblogs.com/zwq194/p/1217023.html
Copyright © 2020-2023  润新知