The WebBrowser
control provides all of the functionality required
to load and display HTML
pages and other file types, as well as
the functionality needed to navigate to
locations on the World
Wide Web.
The .NET control WebBrowser will be used for the
actual Web browsing functionality.
One of the primary demands for the UI is the ability to have only a
single instance of the
application running but to be able to have multiple Web pages open that
the user can rapidly
switch between without having to navigate back and forth.
Tasks: Design a user friendly Web UI with
the following functionality:
-
Be able to
bookmark the web page ( Favorite)
-
Be able to have
multiple Web pages open that the user can rapidly switch between without having
to navigate back and forth (Use container controls)
-
Have the
following button: back, forward and home
-
Make your
application fully functional
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.Xml.XPath;
using System.Net;
using System.IO;
namespace test1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
WebBrowser browse = new WebBrowser();
int i = 0;
private void Form1_Load(object sender, EventArgs e)
{
browse.ScriptErrorsSuppressed = true;
browse.Dock = DockStyle.Fill;
browse.Visible = true;
browse.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browse_DocumentCompleted);
webBrowser.Navigated += new WebBrowserNavigatedEventHandler(webBrowser_Navigated);
browse.ProgressChanged += new WebBrowserProgressChangedEventHandler(webBrowser_ProgressChanged);
//webBrowser.GoHome();
tabControl1.TabPages.Add("New Tab");
tabControl1.SelectTab(i);
tabControl1.SelectedTab.Controls.Add(browse);
i = i + 1;
treeView1.Hide();
}
private void Back_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoBack();
}
private void Forward_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoForward();
}
private void Refresh_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Refresh();
}
private void Stop_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Stop();
}
private void Home_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoHome();
}
private void GoButton_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(urlCombo.Text);
if (!urlCombo.Items.Contains(urlCombo.Text))
{
urlCombo.Items.Add(urlCombo.Text);
}
}
private void browse_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
tabControl1.SelectedTab.Text = ((WebBrowser)tabControl1.SelectedTab.Controls[0]).DocumentTitle;
}
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult result;
result = openFileDialog1.ShowDialog();
if (result == System.Windows.Forms.DialogResult.OK)
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(openFileDialog1.FileName);
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).ShowSaveAsDialog();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void sourceToolStripMenuItem_Click(object sender, EventArgs e)
{
//Declare sourceForm as a new Form
Form sourceForm = new Form();
//Declare sourceCode as a new TextBox
RichTextBox sourceCode = new RichTextBox();
//Fill the TextBox throughout the form
sourceCode.Dock = DockStyle.Fill;
//Allow the TextBox to contain more than one line
sourceCode.Multiline = true;
//Set the width of the form to 450
sourceForm.Width = 450;
//Set the height of the form to 350
sourceForm.Height = 350;
//Set the start Position
sourceForm.StartPosition = FormStartPosition.CenterParent;
//Do not show the Icon
sourceForm.ShowIcon = false;
//Show in the Taskbar
sourceForm.ShowInTaskbar = true;
//Set the text of the form to Source Code for and the URL
sourceForm.Text = "Source Code for " + webBrowser.Url;
//Set the text of sourceCode to the DocumentText of webBrowser
sourceCode.Text = webBrowser.DocumentText;
//Add the sourceCode TextBox to the form
sourceForm.Controls.Add(sourceCode);
//Show the sourceForm
sourceForm.Show(this);
string address = urlCombo.Text;
if (String.IsNullOrEmpty(address)) return;
if (address.Equals("about:blank")) return;
if (!address.StartsWith("http://") &&
!address.StartsWith("https://"))
{
address = "http://" + address;
}
try
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(new Uri(address));
}
catch (System.UriFormatException)
{
return;
}
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
sourceCode.Text = sr.ReadToEnd();
sr.Close();
}
private void printToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).ShowPrintDialog();
}
private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).ShowPrintPreviewDialog();
}
private void propertiesToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).ShowPropertiesDialog();
}
private void webBrowser_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
statusProgress.Value = (int)e.CurrentProgress;
}
private void addTab_Click(object sender, EventArgs e)
{
urlCombo.Text = "about blank";
browse = new WebBrowser();
browse.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browse_DocumentCompleted);
browse.Dock = DockStyle.Fill;
tabControl1.TabPages.Add("New Tab");
tabControl1.SelectTab(i);
tabControl1.SelectedTab.Controls.Add(browse);
i = i + 1;
}
private void closeTab_Click(object sender, EventArgs e)
{
if (tabControl1.TabPages.Count - 1 > 0)
{
tabControl1.TabPages.RemoveAt(tabControl1.SelectedIndex);
tabControl1.SelectTab(tabControl1.TabPages.Count - 1);
i--;
}
}
private void contextMenuStrip1_MouseClick(object sender, MouseEventArgs e)
{
treeView1.Show();
}
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(treeView1.SelectedNode.Text);
}
private void urlTxt_Click(object sender, EventArgs e)
{
treeView1.Hide();
}
private void button1_Click(object sender, EventArgs e)
{
treeView1.Nodes.Add(urlCombo.Text);
}
private void removeToolStripMenuItem_Click(object sender, EventArgs e)
{
treeView1.Nodes.Remove(treeView1.SelectedNode);
}
private void openToolStripMenuItem1_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(treeView1.SelectedNode.Text);
}
private void openInTabToolStripMenuItem_Click(object sender, EventArgs e)
{
browse = new WebBrowser();
browse.Dock = DockStyle.Fill;
browse.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browse_DocumentCompleted);
tabControl1.TabPages.Add("New Tab");
tabControl1.SelectTab(i);
tabControl1.SelectedTab.Controls.Add(browse);
i = i + 1;
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(treeView1.SelectedNode.Text);
}
private void contextMenuStrip3_MouseClick(object sender, MouseEventArgs e)
{
treeView1.Nodes.Add(tabControl1.SelectedTab.Text);
}
private void urlCombo_Click_1(object sender, EventArgs e)
{
treeView1.Hide();
}
private void urlCombo_KeyPress_1(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
webBrowser.ScriptErrorsSuppressed = true;
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(urlCombo.Text);
if (!urlCombo.Items.Contains(urlCombo.Text))
{
urlCombo.Items.Add(urlCombo.Text);
}
}
}
private void googlecomToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(@"http://www.google.ca/#sclient=psy-ab&hl=en&site=&source=hp&q=" + searchTxt.Text);
}
private void youtbeolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(@"http://www.youtube.com/results?search_query=" + searchTxt.Text);
}
private void mSNToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(@"http://search.msn.com/results.aspx?q=" + searchTxt.Text);
}
private void webBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
urlCombo.Text = webBrowser.Url.ToString();
}
private void mSDNToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(@"http://social.msdn.microsoft.com/Search/en-US?query=" + searchTxt.Text);
}
private void Favorites_Click_1(object sender, EventArgs e)
{
treeView1.Nodes.Add(new TreeNode((tabControl1.SelectedTab.Text)));
}
}
}
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.Xml.XPath;
using System.Net;
using System.IO;
namespace test1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
WebBrowser browse = new WebBrowser();
int i = 0;
private void Form1_Load(object sender, EventArgs e)
{
browse.ScriptErrorsSuppressed = true;
browse.Dock = DockStyle.Fill;
browse.Visible = true;
browse.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browse_DocumentCompleted);
webBrowser.Navigated += new WebBrowserNavigatedEventHandler(webBrowser_Navigated);
browse.ProgressChanged += new WebBrowserProgressChangedEventHandler(webBrowser_ProgressChanged);
//webBrowser.GoHome();
tabControl1.TabPages.Add("New Tab");
tabControl1.SelectTab(i);
tabControl1.SelectedTab.Controls.Add(browse);
i = i + 1;
treeView1.Hide();
}
private void Back_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoBack();
}
private void Forward_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoForward();
}
private void Refresh_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Refresh();
}
private void Stop_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Stop();
}
private void Home_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoHome();
}
private void GoButton_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(urlCombo.Text);
if (!urlCombo.Items.Contains(urlCombo.Text))
{
urlCombo.Items.Add(urlCombo.Text);
}
}
private void browse_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
tabControl1.SelectedTab.Text = ((WebBrowser)tabControl1.SelectedTab.Controls[0]).DocumentTitle;
}
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult result;
result = openFileDialog1.ShowDialog();
if (result == System.Windows.Forms.DialogResult.OK)
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(openFileDialog1.FileName);
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).ShowSaveAsDialog();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void sourceToolStripMenuItem_Click(object sender, EventArgs e)
{
//Declare sourceForm as a new Form
Form sourceForm = new Form();
//Declare sourceCode as a new TextBox
RichTextBox sourceCode = new RichTextBox();
//Fill the TextBox throughout the form
sourceCode.Dock = DockStyle.Fill;
//Allow the TextBox to contain more than one line
sourceCode.Multiline = true;
//Set the width of the form to 450
sourceForm.Width = 450;
//Set the height of the form to 350
sourceForm.Height = 350;
//Set the start Position
sourceForm.StartPosition = FormStartPosition.CenterParent;
//Do not show the Icon
sourceForm.ShowIcon = false;
//Show in the Taskbar
sourceForm.ShowInTaskbar = true;
//Set the text of the form to Source Code for and the URL
sourceForm.Text = "Source Code for " + webBrowser.Url;
//Set the text of sourceCode to the DocumentText of webBrowser
sourceCode.Text = webBrowser.DocumentText;
//Add the sourceCode TextBox to the form
sourceForm.Controls.Add(sourceCode);
//Show the sourceForm
sourceForm.Show(this);
string address = urlCombo.Text;
if (String.IsNullOrEmpty(address)) return;
if (address.Equals("about:blank")) return;
if (!address.StartsWith("http://") &&
!address.StartsWith("https://"))
{
address = "http://" + address;
}
try
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(new Uri(address));
}
catch (System.UriFormatException)
{
return;
}
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
sourceCode.Text = sr.ReadToEnd();
sr.Close();
}
private void printToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).ShowPrintDialog();
}
private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).ShowPrintPreviewDialog();
}
private void propertiesToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).ShowPropertiesDialog();
}
private void webBrowser_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
statusProgress.Value = (int)e.CurrentProgress;
}
private void addTab_Click(object sender, EventArgs e)
{
urlCombo.Text = "about blank";
browse = new WebBrowser();
browse.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browse_DocumentCompleted);
browse.Dock = DockStyle.Fill;
tabControl1.TabPages.Add("New Tab");
tabControl1.SelectTab(i);
tabControl1.SelectedTab.Controls.Add(browse);
i = i + 1;
}
private void closeTab_Click(object sender, EventArgs e)
{
if (tabControl1.TabPages.Count - 1 > 0)
{
tabControl1.TabPages.RemoveAt(tabControl1.SelectedIndex);
tabControl1.SelectTab(tabControl1.TabPages.Count - 1);
i--;
}
}
private void contextMenuStrip1_MouseClick(object sender, MouseEventArgs e)
{
treeView1.Show();
}
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(treeView1.SelectedNode.Text);
}
private void urlTxt_Click(object sender, EventArgs e)
{
treeView1.Hide();
}
private void button1_Click(object sender, EventArgs e)
{
treeView1.Nodes.Add(urlCombo.Text);
}
private void removeToolStripMenuItem_Click(object sender, EventArgs e)
{
treeView1.Nodes.Remove(treeView1.SelectedNode);
}
private void openToolStripMenuItem1_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(treeView1.SelectedNode.Text);
}
private void openInTabToolStripMenuItem_Click(object sender, EventArgs e)
{
browse = new WebBrowser();
browse.Dock = DockStyle.Fill;
browse.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browse_DocumentCompleted);
tabControl1.TabPages.Add("New Tab");
tabControl1.SelectTab(i);
tabControl1.SelectedTab.Controls.Add(browse);
i = i + 1;
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(treeView1.SelectedNode.Text);
}
private void contextMenuStrip3_MouseClick(object sender, MouseEventArgs e)
{
treeView1.Nodes.Add(tabControl1.SelectedTab.Text);
}
private void urlCombo_Click_1(object sender, EventArgs e)
{
treeView1.Hide();
}
private void urlCombo_KeyPress_1(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
webBrowser.ScriptErrorsSuppressed = true;
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(urlCombo.Text);
if (!urlCombo.Items.Contains(urlCombo.Text))
{
urlCombo.Items.Add(urlCombo.Text);
}
}
}
private void googlecomToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(@"http://www.google.ca/#sclient=psy-ab&hl=en&site=&source=hp&q=" + searchTxt.Text);
}
private void youtbeolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(@"http://www.youtube.com/results?search_query=" + searchTxt.Text);
}
private void mSNToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(@"http://search.msn.com/results.aspx?q=" + searchTxt.Text);
}
private void webBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
urlCombo.Text = webBrowser.Url.ToString();
}
private void mSDNToolStripMenuItem_Click(object sender, EventArgs e)
{
((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(@"http://social.msdn.microsoft.com/Search/en-US?query=" + searchTxt.Text);
}
private void Favorites_Click_1(object sender, EventArgs e)
{
treeView1.Nodes.Add(new TreeNode((tabControl1.SelectedTab.Text)));
}
}
}
No comments:
Post a Comment