⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 用C#实现的简易浏览器源码
💻 CS
字号:
using System;
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 search
{
    public partial class Form1 : Form
    {
        // 判断输入框是否为空
        public bool jianche()
        {
            if (txtkey.Text.Trim() == "")
            {
                MessageBox.Show("请输入搜索关键字", "提示!");
                return false;
            }
            else
                return true;
        }
        /// <summary>
        /// 根据传入的参数搜索内容
        /// </summary>
        /// <param name="lb">搜索内容的类别</param>
        /// <param name="yq">搜索引擎</param>
        public void search(int lb, int yq)
        {
            if (jianche())
            {
                string[,] dizhi = new string[3, 3];
                dizhi[0, 0] = "http://www.baidu.com/baidu?tn=x516_pg&word={*|key@word|*}";//百度网页
                dizhi[0, 1] = "http://www.google.cn/search?client=aff-sub-38251&ie=gb&oe=UTF-8&hl=zh-CN&channel=search&q={*|key@word|*}";//google网页
                dizhi[0, 2] = "http://p.zhongsou.com/p?w={*|key@word|*}&k=gubeilei";//中搜网页
                dizhi[1, 0] = "http://pic.sogou.com/pics?query={*|key@word|*}&mode=1&p=&dp=&mood=0&di=2&_asf=pic.sogou.com&_ast=1222140215&w=05009900";//搜狗图片
                dizhi[1, 1] = "http://one.cn.yahoo.com/s?p={*|key@word|*}&ei=gbk&v=image&pid=ysearch&x=";//雅虎图片
                dizhi[1, 2] = "http://image.soso.com/image.cgi?w={*|key@word|*}&sc=img&ch=w.soso&uin=";//搜搜图片
                dizhi[2, 0] = "http://movie.baidu.com/srh.php?tn=x516_pg&word={*|key@word|*}";//百度视频
                dizhi[2, 1] = "http://v.sogou.com/v?query={*|key@word|*}&w=06009900&_asf=v.sogou.com&_ast=1222141553";//搜狗视频
                dizhi[2, 2] = "http://so.56.com/index?type=video&key={*|key@word|*}";//56视频
                string url = dizhi[lb, yq].Replace("{*|key@word|*}", txtkey.Text.Trim());
                webBrowser1.Navigate(url);
            }
        }

        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            this.webBrowser1.Navigate("http://www.baidu.com");
            fpweb.Visible = true;            
        }
        
        //go
        private void button7_Click(object sender, EventArgs e)
        {
            string url = comboBox1.Text;
            this.webBrowser1.Navigate(url);

            #region 以下是两种获取网页源代码的方法            
            //方法一
            //System.Net.HttpWebRequest req;
            //System.Net.HttpWebResponse res;
            //string url = "http://www.163.com";
            //string start = DateTime.Now.ToString() + ":" + DateTime.Now.Millisecond.ToString();//获取毫秒数
            //textBox2.Text = start;
            //req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
            //res = (System.Net.HttpWebResponse)req.GetResponse();
            //System.IO.StreamReader strm = new System.IO.StreamReader(res.GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312"));
            //textBox1.Text = strm.ReadToEnd();
            //string stop = DateTime.Now.ToString() + ":" + DateTime.Now.Millisecond.ToString();
            //textBox3.Text = stop;
            //方法二
            //string url = "http://www.163.com";
            //System.IO.Stream stream = null;
            //string start = DateTime.Now.ToString() + ":" + DateTime.Now.Millisecond.ToString();
            //textBox2.Text = start;
            //WebClient client = new WebClient();
            //stream = client.OpenRead(url);
            //StreamReader readerOfStream = new StreamReader(stream, System.Text.Encoding.GetEncoding("GB2312"));
            //string webcode = readerOfStream.ReadToEnd();
            //textBox1.Text = webcode;
            //string stop = DateTime.Now.ToString() + ":" + DateTime.Now.Millisecond.ToString();
            //textBox3.Text = stop;
            //textBox4.Text = webcode.Length.ToString();             
            //stream.Close();// Close the stream.
            #endregion
        }

        //前进
        private void button8_Click(object sender, EventArgs e)
        { 
            //此下代码是为获取webbrowser中页面的源代码
           //StreamReader sr = new StreamReader(this.webBrowser1.DocumentStream, Encoding.GetEncoding("GB2312"));
           // string strhtml = sr.ReadToEnd();
           //textBox1.Text = strhtml;
            this.webBrowser1.GoForward();
        }

        //后退
        private void button9_Click(object sender, EventArgs e)
        {
            webBrowser1.GoBack(); 
        }

        //刷新
        private void button3_Click_1(object sender, EventArgs e)
        {
            if (!webBrowser1.Url.Equals("about:blank")) 
            { 
                webBrowser1.Refresh(); 
            } 
        }

        private void comboBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)//如果按的是回车键
            {
                webBrowser1.Navigate(comboBox1.Text);
                comboBox1.Items.Add(comboBox1.Text);                    
            }
        }

        //地址列表选择事件
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.webBrowser1.Navigate(comboBox1.Text); 
        }

        //主页
        private void button4_Click(object sender, EventArgs e)
        {
            webBrowser1.GoHome();
        }
        // 在页面上点击超链接后在当前页面中打开
        private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
        {
            try
            {
                string strurl = webBrowser1.Document.ActiveElement.GetAttribute("href");
                if (!strurl.Contains("://"))
                    strurl = "http://" + strurl;
                this.webBrowser1.Url = new System.Uri(strurl, System.UriKind.Absolute);
                this.comboBox1.Text = strurl;
                e.Cancel = true;
            }
            catch { } 
         }
        //键盘的按键事件
        private void webBrowser1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            //MessageBox.Show("hello", "提示");
        }
        //web click
        private void butweb_Click(object sender, EventArgs e)
        {
            fpweb.Visible = true;
            fpimage.Visible = false;            
            fpvideo.Visible = false;
            fpweb.Location = new Point(20,94);
        }
        //image click
        private void butimage_Click(object sender, EventArgs e)
        {
            fpimage.Visible = true;
            fpvideo.Visible = false;
            fpweb.Visible = false;
            fpimage.Location=new Point(20,94);           
        }
        //video click
        private void butvideo_Click(object sender, EventArgs e)
        {
            fpvideo.Visible = true;
            fpimage.Visible = false;
            fpweb.Visible = false;
            fpvideo.Location = new Point(20,94);    
        }
        //百度网页搜索
        private void webbaidu_Click(object sender, EventArgs e)
        {
            search(0, 0);            
        }
        //google网页搜索
        private void webgoogle_Click(object sender, EventArgs e)
        {
            search(0, 1);  
        }
        //中搜网页搜索
        private void webzhongsou_Click(object sender, EventArgs e)
        {
            search(0, 2); 
        }
        //搜狗图片搜索
        private void imagesougou_Click(object sender, EventArgs e)
        {
            search(1, 0); 
        } 
        //搜搜图片搜索
        private void imagesoso_Click(object sender, EventArgs e)
        {
            search(1, 1); 
        }

        //雅虎图片搜索
        private void imageyahoo_Click(object sender, EventArgs e)
        {
            search(1,2);
        }
        //百度视频
        private void videobaidu_Click(object sender, EventArgs e)
        {
            search(2, 0);
        }
        //搜狗视频
        private void videosougou_Click(object sender, EventArgs e)
        {
            search(2, 1);
        }
        //56视频
        private void video56_Click(object sender, EventArgs e)
        {
            search(2, 2);
        }
        //webbroswer随窗体的大小而改变
        private void form1_SizeChanged(object sender, EventArgs e)
        {
            int width = this.Width;
            int height = this.Height;
            webBrowser1.Width = width-14;
            webBrowser1.Height= height-180;
        }
        //search
        private void butsearch_Click(object sender, EventArgs e)
        {
            search(0,0);//默认百度网页搜索
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -