发一个前一段时间老师布置的作业 用c#做的一个浏览器的小程序。有收藏夹和历史记录功能,其他的就主要靠微软提供的一个webBrowser控件了。
图标是网上找的,侵权可不要找我,我没有什么商业用途……
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;
namespace browser
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
urlCollect = new System.Collections.Hashtable();
}
private void toolStripButton10_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(textBox1.Text);
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if(e.KeyChar==13)
button1_Click(sender,e);
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
if (webBrowser1.CanGoBack)
{
webBrowser1.GoBack();
}
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
if (webBrowser1.CanGoForward)
{
webBrowser1.GoForward();
}
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
webBrowser1.Stop();//停止按钮
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
webBrowser1.Refresh();//刷新按钮
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
webBrowser1.GoHome();//主页按钮
}
private void toolStripButton7_Click(object sender, EventArgs e)
{
if (splitContainer1.Panel1Collapsed)
{
splitContainer1.Panel1Collapsed = false;
tabControl1.SelectedTab = tabPage1;
}
else
{
splitContainer1.Panel1Collapsed = true;
tabControl1.SelectedTab = tabPage1;
}
}
private void button2_Click(object sender, EventArgs e)
{ //添加到收藏夹
if (!urlCollect.Contains(webBrowser1.Document.Title.ToString()))
{
urlCollect.Add(webBrowser1.Document.Title.ToString(), webBrowser1.Document.Url.ToString());
collectTree.Nodes.Add(webBrowser1.Document.Title.ToString());
}
}
private void collectTree_AfterSelect(object sender, TreeViewEventArgs e)
{
webBrowser1.Navigate(urlCollect[collectTree.SelectedNode.Text].ToString());
}
private void toolStripButton8_Click(object sender, EventArgs e)
{
if (splitContainer1.Panel1Collapsed)
{
tabControl1.SelectedTab = tabPage2;
splitContainer1.Panel1Collapsed = false;
}
else
{
splitContainer1.Panel1Collapsed = true;
tabControl1.SelectedTab = tabPage2;
}
}
private void 添加到收藏夹ToolStripMenuItem_Click(object sender, EventArgs e)
{
button2_Click(sender, e);
}
private void 整理收藏夹ToolStripMenuItem_Click(object sender, EventArgs e)
{
toolStripButton7_Click(sender, e);
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{//右键菜单 打开
if (collectTree.SelectedNode.IsSelected)
webBrowser1.Navigate(urlCollect[collectTree.SelectedNode.Index].ToString());
}
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{//加载完成
textBox1.Text = webBrowser1.Url.ToString();
insertHistory(textBox1.Text);
}
private void insertHistory(string url)
{//历史记录
if (historyTree.Nodes.Count==0)
{
historyTree.Nodes.Add(System.DateTime.Now + "访问:" + url);
}
else
{//防止页面连续发出请求重复记录
string lastrecord = historyTree.Nodes[historyTree.Nodes.Count - 1].Text;
string[] lurl = lastrecord.Split('问');
if (!(":" + url).Equals(lurl[1]))
historyTree.Nodes.Add(System.DateTime.Now + "访问:" + url);
}
if (webBrowser1.CanGoBack)
toolStripButton3.Enabled = true;
else
toolStripButton3.Enabled = false;
if (webBrowser1.CanGoForward)
toolStripButton4.Enabled = true;
else
toolStripButton4.Enabled = false;
}
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{//右键菜单 删除
urlCollect.Remove(collectTree.Nodes[collectTree.SelectedNode.Index]);//删除记录
collectTree.SelectedNode.Remove();//删除图
}
private void 关于InternetExplorerToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("Hourglass'Browser V1.0", "CopyRight about this");
}
}
}