using System;
using System.ComponentModel;
using System.Data;
using System.Windows.Forms;
using System.Xml;
namespace nathan_browser
{
public partial class Form1 : Form
{
private DataSet ds = new DataSet();
public Form1()
{
InitializeComponent();
}
string xmlfile = "urls.xml";
private void btn_go_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(tb_url.Text);
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.ScriptErrorsSuppressed = true; //关闭脚本错误消息
readxml();
}
void readxml() {
ds.ReadXml(xmlfile);
cbb_urls.DisplayMember = "Name";
cbb_urls.ValueMember = "value";
cbb_urls.DataSource = ds.Tables[0];//或者使用 cbb_urls.DataSource = xmlds.Tables["url"];
}
private void cbb_urls_SelectedIndexChanged(object sender, EventArgs e)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) //加载全部链接
{
if (ds.Tables[0].Rows[i]["name"].ToString() == cbb_urls.Text)
{
tb_url.Text = ds.Tables[0].Rows[i]["addr"].ToString();
webBrowser1.Navigate(tb_url.Text);
}
}
}
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;
tb_url.Text = webBrowser1.StatusText;
webBrowser1.Navigate(webBrowser1.StatusText);
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) //还可以使用 Keys.F 等 检测F键是否按下
{
webBrowser1.Navigate(tb_url.Text);
}
}
private void 关于ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
tb_url.Text = e.Url.ToString();
}
private void btn_savetofavorite_Click(object sender, EventArgs e)
{
string result = InputBox("设置收藏网址名称", "你要收藏的网址是:"+tb_url.Text, "");
try
{
XmlDocument doc = new XmlDocument();
doc.Load(xmlfile);
XmlElement url = doc.CreateElement("url");
XmlElement name = doc.CreateElement("name");
name.InnerText = result;
url.AppendChild(name);
XmlElement addr = doc.CreateElement("addr");
addr.InnerText = tb_url.Text;
url.AppendChild(addr);
XmlElement root = doc.DocumentElement;
root.AppendChild(url);
doc.Save(xmlfile);
MessageBox.Show("添加成功!", "提示");
}
catch (Exception xe)
{
MessageBox.Show(xe.Message);
}
}
private string InputBox(string Caption, string Hint, string Default)
{
Form InputForm = new Form();
InputForm.MinimizeBox = false;
InputForm.MaximizeBox = false;
InputForm.StartPosition = FormStartPosition.CenterScreen;
InputForm.Width = 500;
InputForm.Height = 150;
//InputForm.Font.Name = "宋体";
//InputForm.Font.Size = 10;
InputForm.Text = Caption;
Label lbl = new Label();
lbl.Text = Hint;
lbl.Left = 10;
lbl.Top = 20;
lbl.Parent = InputForm;
lbl.AutoSize = true;
TextBox tb = new TextBox();
tb.Left = 230;
tb.Top = 45;
tb.Width = 160;
tb.Parent = InputForm;
tb.Text = Default;
tb.SelectAll();
Button btnok = new Button();
btnok.Left = 230;
btnok.Top = 80;
btnok.Parent = InputForm;
btnok.Text = "确定";
InputForm.AcceptButton = btnok;//回车响应
btnok.DialogResult = DialogResult.OK;
Button btncancal = new Button();
btncancal.Left = 320;
btncancal.Top = 80;
btncancal.Parent = InputForm;
btncancal.Text = "取消";
btncancal.DialogResult = DialogResult.Cancel;
try
{
if (InputForm.ShowDialog() == DialogResult.OK)
{
return tb.Text;
}
else
{
return null;
}
}
finally
{
InputForm.Dispose();
}
}
private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
private void btn_refresh_Click(object sender, EventArgs e)
{
webBrowser1.Refresh();
}
private void btn_backward_Click(object sender, EventArgs e)
{
webBrowser1.GoBack();
}
private void btn_forward_Click(object sender, EventArgs e)
{
webBrowser1.GoForward();
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
/*
urls.xml文档内容示例:
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<urls>
<url>
<name>baidu</name>
<addr>http://baidu.com</addr>
</url>
<url>
<name>csdn</name>
<addr>http://csdn.net</addr>
</url>
<url>
<name>126</name>
<addr>http://126.com</addr>
</url>
</urls>
4894

被折叠的 条评论
为什么被折叠?



