using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.Threading;namespace Web浏览器 { public partial class mainFrame : Form { public mainFrame() { InitializeComponent(); Navigate(this.toolStripAddress.Text); WebBrowser wb = (WebBrowser)tabControlMyTab.SelectedTab.Controls[0]; wb.GoHome(); } private void Form1_Load(object sender, EventArgs e) {
} // Navigates to the URL in the address box when // the ENTER key is pressed while the ToolStripTextBox has focus. private void toolStripAddress_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyCode == Keys.Enter) { Navigate(toolStripAddress.Text);
} } private void Navigate(String address) { if (String.IsNullOrEmpty(address)) return; if (address.Equals("about:blank")) return; if (!address.StartsWith("http://") && !address.StartsWith("https://")) { address = "http://" + address; } try { TabPage currentTabPage = tabControlMyTab.SelectedTab; WebBrowser myWebBrowser; if (0 == currentTabPage.Controls.Count) { myWebBrowser = new WebBrowser(); myWebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(myWebBrowser_DocumentCompleted); myWebBrowser.Navigate(new Uri(address)); //System.Console.Write("title:"+myWebBrowser.DocumentTitle); myWebBrowser.Dock = DockStyle.Fill; currentTabPage.Controls.Add(myWebBrowser); myWebBrowser.FileDownload += new EventHandler(myWebBrowser_FileDownload); myWebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(myWebBrowser_DocumentCompleted); myWebBrowser.Navigating += new WebBrowserNavigatingEventHandler(myWebBrowser_Navigating); myWebBrowser.NewWindow += new CancelEventHandler(myWebBrowser_NewWindow); //this.toolStripAddress.Text ="http://"+myWebBrowser.Url.ToString(); //currentTabPage.Text = myWebBrowser.DocumentTitle; } else { myWebBrowser = (WebBrowser)currentTabPage.Controls[0]; myWebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(myWebBrowser_DocumentCompleted); myWebBrowser.NewWindow += new CancelEventHandler(myWebBrowser_NewWindow); myWebBrowser.Navigate(new Uri(address)); this.toolStripAddress.Text = myWebBrowser.Url.ToString(); currentTabPage.Text = myWebBrowser.DocumentTitle; }
这个问题太模糊了
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Threading;namespace Web浏览器
{
public partial class mainFrame : Form
{
public mainFrame()
{
InitializeComponent();
Navigate(this.toolStripAddress.Text);
WebBrowser wb = (WebBrowser)tabControlMyTab.SelectedTab.Controls[0];
wb.GoHome();
} private void Form1_Load(object sender, EventArgs e)
{
}
// Navigates to the URL in the address box when
// the ENTER key is pressed while the ToolStripTextBox has focus.
private void toolStripAddress_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
Navigate(toolStripAddress.Text);
}
} private void Navigate(String address)
{ if (String.IsNullOrEmpty(address)) return;
if (address.Equals("about:blank")) return;
if (!address.StartsWith("http://") &&
!address.StartsWith("https://"))
{
address = "http://" + address;
}
try
{
TabPage currentTabPage = tabControlMyTab.SelectedTab;
WebBrowser myWebBrowser; if (0 == currentTabPage.Controls.Count)
{
myWebBrowser = new WebBrowser();
myWebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(myWebBrowser_DocumentCompleted);
myWebBrowser.Navigate(new Uri(address));
//System.Console.Write("title:"+myWebBrowser.DocumentTitle);
myWebBrowser.Dock = DockStyle.Fill;
currentTabPage.Controls.Add(myWebBrowser);
myWebBrowser.FileDownload += new EventHandler(myWebBrowser_FileDownload);
myWebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(myWebBrowser_DocumentCompleted);
myWebBrowser.Navigating += new WebBrowserNavigatingEventHandler(myWebBrowser_Navigating);
myWebBrowser.NewWindow += new CancelEventHandler(myWebBrowser_NewWindow);
//this.toolStripAddress.Text ="http://"+myWebBrowser.Url.ToString();
//currentTabPage.Text = myWebBrowser.DocumentTitle;
}
else
{
myWebBrowser = (WebBrowser)currentTabPage.Controls[0];
myWebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(myWebBrowser_DocumentCompleted);
myWebBrowser.NewWindow += new CancelEventHandler(myWebBrowser_NewWindow);
myWebBrowser.Navigate(new Uri(address));
this.toolStripAddress.Text = myWebBrowser.Url.ToString();
currentTabPage.Text = myWebBrowser.DocumentTitle;
}
}
catch (Exception)
{
return;
}
} void myWebBrowser_NewWindow(object sender, CancelEventArgs e)
{
string strurl;
WebBrowser wb = new WebBrowser();
wb.DocumentCompleted +=new WebBrowserDocumentCompletedEventHandler(myWebBrowser_DocumentCompleted);
wb.NewWindow += new CancelEventHandler(myWebBrowser_NewWindow); try
{
TabPage currentTabPage = tabControlMyTab.SelectedTab;
WebBrowser myWebBrowser = (WebBrowser)currentTabPage.Controls[0];
strurl = myWebBrowser.Document.ActiveElement.GetAttribute("href");
if (!strurl.Contains("://"))
strurl = "http://" + strurl;
wb.Navigate(strurl);
e.Cancel = true;
tabControlMyTab.TabPages.Add(tabControlMyTab.TabPages.Count.ToString());
tabControlMyTab.TabPages[tabControlMyTab.TabPages.Count - 1].Controls.Add(wb);
//MessageBox.Show (tabControlMyTab.TabPages.Count.ToString()); wb.Dock = DockStyle.Fill; tabControlMyTab.SelectedIndex = tabControlMyTab.TabPages.Count - 1; //tabControl1.TabPages[tabControl1.TabPages.Count - 1].Controls.Add(wb);
}
catch (Exception e2)
{
}
} void myWebBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{ } void myWebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
newAddress();
} void myWebBrowser_FileDownload(object sender, EventArgs e)
{
}
private void newAddress()
{
try
{
TabPage currentTabPage = tabControlMyTab.SelectedTab;
if (0 != currentTabPage.Controls.Count)
{
WebBrowser wb = (WebBrowser)currentTabPage.Controls[0];
System.Console.Write(wb.DocumentTitle); if (wb.DocumentTitle == "")
{
this.toolStripAddress.Text = "about:blank";
currentTabPage.Text = "空白页";
}
else
{
this.toolStripAddress.Text = wb.Url.ToString();
currentTabPage.Text = wb.DocumentTitle; }
}
}
catch (Exception)
{
}
}
private void AddTabPage()
{
this.tabControlMyTab.TabPages.Add(new TabPage("空白页"));
} private void toolStripGo_Click(object sender, EventArgs e)
{
Navigate(toolStripAddress.Text);
} private void tabControlMytab_SelectedIndexChanged(object sender, EventArgs e)
{
if (0 != tabControlMyTab.SelectedTab.Controls.Count)
{
WebBrowser wb = (WebBrowser)tabControlMyTab.SelectedTab.Controls[0];
this.toolStripAddress.Text = wb.Document.Url.ToString();
}
else
{
this.toolStripAddress.Text = "about:blank";
} } private void tabControlMyTab_DoubleClick(object sender, EventArgs e)
{
try
{
for (int i = this.tabControlMyTab.TabCount - 1; i >= 0; i--)
{
Point pos = this.tabControlMyTab.PointToClient(Cursor.Position);
if (this.tabControlMyTab.GetTabRect(i).Contains(pos))
{
if (this.tabControlMyTab.TabCount == 1) break;
else this.tabControlMyTab.TabPages[i].Dispose();
break;
}
}
}
catch { }
}
private void mainFrame_DoubleClick(object sender, EventArgs e)
{
if (this.tabControlMyTab.ClientRectangle.Contains
(this.PointToClient(Cursor.Position)))
{
//IsSolved = false;
this.tabControlMyTab_DoubleClick(sender, e);
//if (!IsSolved)
//{
this.AddTabPage();
//}
}
}
private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{ } private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{ }
private void toolStrip1_ItemClicked_1(object sender, ToolStripItemClickedEventArgs e)
{
if(e.ClickedItem.Equals(this.toolStripGoBack))
{
try
{
WebBrowser wb = (WebBrowser)tabControlMyTab.SelectedTab.Controls[0];
wb.GoBack();
}
catch { };
}
if (e.ClickedItem.Equals(this.toolStripGoForward))
{
try
{
WebBrowser wb = (WebBrowser)tabControlMyTab.SelectedTab.Controls[0];
wb.GoForward();
}
catch { };
}
if (e.ClickedItem.Equals(this.toolStripStop))
{
WebBrowser wb = (WebBrowser)tabControlMyTab.SelectedTab.Controls[0];
wb.Stop();
}
if (e.ClickedItem.Equals(this.toolStripRefresh))
{
WebBrowser wb = (WebBrowser)tabControlMyTab.SelectedTab.Controls[0];
wb.Refresh();
}
if (e.ClickedItem.Equals(this.toolStripGoHome))
{
WebBrowser wb = (WebBrowser)tabControlMyTab.SelectedTab.Controls[0];
wb.GoHome();
newAddress();
}
} private void toolStripGo_Click_1(object sender, EventArgs e)
{
Navigate(toolStripAddress.Text);
} private void internet选项ToolStripMenuItem_Click(object sender, EventArgs e)
{
ProcessStartInfo Info = new ProcessStartInfo();
Info.FileName = "inetcpl.cpl";
Process.Start(Info);
} private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.AddTabPage();
} private void tabPage1_Click(object sender, EventArgs e)
{ } private void 另存为sToolStripMenuItem_Click(object sender, EventArgs e)
{
TabPage currentTabPage = tabControlMyTab.SelectedTab;
WebBrowser wb = (WebBrowser)currentTabPage.Controls[0];
wb.ShowSaveAsDialog();
} private void 打开文件ToolStripMenuItem_Click(object sender, EventArgs e)
{ } private void 打印设置ToolStripMenuItem_Click(object sender, EventArgs e)
{
TabPage currentTabPage = tabControlMyTab.SelectedTab;
WebBrowser wb = (WebBrowser)currentTabPage.Controls[0];
wb.ShowPageSetupDialog();
} private void 打印预览ToolStripMenuItem_Click(object sender, EventArgs e)
{
TabPage currentTabPage = tabControlMyTab.SelectedTab;
WebBrowser wb = (WebBrowser)currentTabPage.Controls[0];
wb.ShowPrintPreviewDialog();
} private void 打印PToolStripMenuItem_Click(object sender, EventArgs e)
{
TabPage currentTabPage = tabControlMyTab.SelectedTab;
WebBrowser wb = (WebBrowser)currentTabPage.Controls[0];
wb.ShowPrintDialog();
} private void 属性ToolStripMenuItem_Click(object sender, EventArgs e)
{
TabPage currentTabPage = tabControlMyTab.SelectedTab;
WebBrowser wb = (WebBrowser)currentTabPage.Controls[0];
wb.ShowPropertiesDialog();
} private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
} private void toolStripMenuItem1_Click(object sender, EventArgs e)
{ } private void toolStripRefresh_Click(object sender, EventArgs e)
{ } private void 页面源代码ToolStripMenuItem_Click(object sender, EventArgs e)
{ } private void 关于千千ToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show(" ");
} }
}
不是自己做浏览器! 我只是觉得他的选项卡做的很好!!想模仿下,结果我发现tabcontrol 好像不是很方便!