Автор работы: Пользователь скрыл имя, 26 Апреля 2013 в 17:43, контрольная работа
У цій роботі описується, як створити і реалізувати деякі з особливостей додатку Web Browser, запам'ятовувати Вибрані веб-вузли і використовувати Links Bar, зберігати Історію відвіданих сторінок, пошук в Google або Live Search, зберігати настроювальні параметри, проглядання джерела і властивостей веб-вузла, друк вмісту сторінки, і інші можливості. C# має WebBrowser control, який робить всю роботу з передачі веб-сторінок.
Вступ 3
Як отримати значок веб-сайту 4
Панель посилань (Links Bar) 4
Історія і Вибране 6
Перегляд джерела 8
Пошук 9
Збереження настроювальних Параметрів 9
Властивості, Друк, Попередній Перегляд, Установки Сторінки, Зберегти Як 11
Вирізати, Копіювати, Вставити, Виділити Все 12
Список літератури 32
historyTreeView.Nodes[url.
}
else
}
/* view by date*/
if (comboBox1.Text.Equals("View by Date"))
{
if (historyTreeView.Nodes[4].
historyTreeView.Nodes[url.
else
{
TreeNode node =
node.ToolTipText = url.ToString() + "\nLast Visited: " + data + "\nTimes visited :" + i.ToString();
node.Name = url.ToString();
node.ContextMenuStrip = histContextMenu;
historyTreeView.Nodes[4].
}
}
}
}
myXml.Save(historyXml);
}
//delete history
private void deleteHistory()
{
XmlDocument myXml = new XmlDocument();
myXml.Load(historyXml);
XmlElement root = myXml.DocumentElement;
foreach (XmlElement x in root.ChildNodes)
{
if (x.GetAttribute("url").Equals(
{
root.RemoveChild(x);
break;
}
}
historyTreeView.SelectedNode.
myXml.Save(historyXml);
}
#endregion
#region TABURI
/*TAB-uri*/
//addNewTab method
private void addNewTab()
{
TabPage tpage = new TabPage();
tpage.BorderStyle = BorderStyle.Fixed3D;
browserTabControl.TabPages.
WebBrowser browser = new WebBrowser();
browser.Navigate(homePage);
tpage.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
browserTabControl.SelectTab(
browser.ProgressChanged += new WebBrowserProgressChangedEvent
browser.DocumentCompleted += new WebBrowserDocumentCompletedEve
browser.Navigating += new WebBrowserNavigatingEventHandl
browser.CanGoBackChanged += new EventHandler(browser_
browser.CanGoForwardChanged += new EventHandler(browser_
}
//DocumentCompleted
private void Form1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEve
{
WebBrowser currentBrowser = getCurrentBrowser();
this.toolStripStatusLabel1.
String text = "Blank Page";
if (!currentBrowser.Url.ToString(
{
text = currentBrowser.Url.Host.
}
this.adrBarTextBox.Text = currentBrowser.Url.ToString();
browserTabControl.SelectedTab.
img.Image = favicon(currentBrowser.Url.
if (!urls.Contains(
urls.Add(currentBrowser.Url.
if (!currentBrowser.Url.ToString(
addHistory(currentBrowser.Url,
}
//ProgressChanged
private void Form1_ProgressChanged(object sender, WebBrowserProgressChangedEvent
{
if (e.CurrentProgress < e.MaximumProgress)
toolStripProgressBar1.Value=(
else toolStripProgressBar1.Value = toolStripProgressBar1.Minimum;
}
//Navigating
private void Form1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
this.toolStripStatusLabel1.
}
//closeTab method
private void closeTab()
{
if (browserTabControl.TabCount != 2)
{
browserTabControl.TabPages.
}
}
//selected index changed
private void browserTabControl_
{
if (browserTabControl.
else
{
if (getCurrentBrowser().Url != null)
adrBarTextBox.Text = getCurrentBrowser().Url.
else adrBarTextBox.Text = "about:blank";
if (getCurrentBrowser().
else toolStripButton1.Enabled = false;
if (getCurrentBrowser().
else toolStripButton2.Enabled = false;
}
}
/* tab context menu */
private void closeTabToolStripMenuItem1_
{
closeTab();
}
private void duplicateTabToolStripMenuItem1
{
if (getCurrentBrowser().Url != null)
{
Uri dup_url = getCurrentBrowser().Url;
addNewTab();
getCurrentBrowser().Url = dup_url;
}
else addNewTab();
}
#endregion
#region FAVICON
// favicon
public static Image favicon(String u, string file)
{
Uri url = new Uri(u);
String iconurl = "http://" + url.Host + "/favicon.ico";
WebRequest request = WebRequest.Create(iconurl);
try
{
WebResponse response = request.GetResponse();
Stream s = response.GetResponseStream();
return Image.FromStream(s);
}
catch (Exception ex)
{
return Image.FromFile(file);
}
}
//favicon index
private int faviconIndex(string url)
{
Uri key = new Uri(url);
if (!imgList.Images.ContainsKey(
imgList.Images.Add(key.Host.
return imgList.Images.IndexOfKey(key.
}
//getFavicon from key
private Image getFavicon(string key)
{
Uri url = new Uri(key);
if (!imgList.Images.ContainsKey(
imgList.Images.Add(url.Host.
, "link.png"));
return imgList.Images[url.Host.
}
#endregion
#region TOOL CONTEXT MENU
/* TOOL CONTEXT MENU*/
//link bar
private void linksBarToolStripMenuItem_
{
linkBar.Visible = !linkBar.Visible;
this.
settings.DocumentElement.
}
//menu bar
private void menuBarToolStripMenuItem_
{
menuBar.Visible = !menuBar.Visible;
this.menuBarToolStripMenuItem.
settings.DocumentElement.
}
//address bar
private void commandBarToolStripMenuItem_
{
adrBar.Visible = !adrBar.Visible;
this.
settings.DocumentElement.
}
#endregion
#region ADDRESS BAR
/*ADDRESS BAR*/
private WebBrowser getCurrentBrowser()
{
return (WebBrowser)browserTabControl.
}
//ENTER
private void adrBarTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
getCurrentBrowser().Navigate(
}
}
//select all from adr bar
private void adrBarTextBox_Click(object sender, EventArgs e)
{
adrBarTextBox.SelectAll();
}
//show urls
private void showUrl()
{
if (File.Exists(historyXml))
{
XmlDocument myXml = new XmlDocument();
myXml.Load(historyXml);
int i = 0;
int num=int.Parse(settings.
foreach (XmlElement el in myXml.DocumentElement.
{
if (num <= i++ ) break;
else adrBarTextBox.Items.Add(el.
}
}
}
private void adrBarTextBox_DropDown(object sender, EventArgs e)
{
adrBarTextBox.Items.Clear();
showUrl();
}
//navigate on selected url
private void adrBarTextBox_
{
getCurrentBrowser().Navigate(
}
//canGoForwardChanged
void browser_CanGoForwardChanged(
{
toolStripButton2.Enabled = !toolStripButton2.Enabled;
}
//canGoBackChanged
void browser_CanGoBackChanged(
{
toolStripButton1.Enabled = !toolStripButton1.Enabled;
}
//back
private void toolStripButton1_Click(object sender, EventArgs e)
{
getCurrentBrowser().GoBack();
}
//forward
private void toolStripButton2_Click(object sender, EventArgs e)
{
getCurrentBrowser().GoForward(
}
//go
private void toolStripButton3_Click(object sender, EventArgs e)
{
getCurrentBrowser().Navigate(
}
//refresh
private void toolStripButton4_Click(object sender, EventArgs e)
{
getCurrentBrowser().Refresh();
}
//stop
private void toolStripButton5_Click(object sender, EventArgs e)
{
getCurrentBrowser().Stop();
}
//favorits
private void toolStripButton7_Click(object sender, EventArgs e)
{
favoritesPanel.Visible = !favoritesPanel.Visible;
settings.DocumentElement.
}
//add to favorits
private void toolStripButton8_Click(object sender, EventArgs e)
{
if (getCurrentBrowser().Url != null)
{
AddFavorites dlg = new AddFavorites(
DialogResult res = dlg.ShowDialog();
if (res == DialogResult.OK)
{
if (dlg.favFile == "Favorites")
addFavorit(getCurrentBrowser()
else addLink(getCurrentBrowser().
}
dlg.Close();
}
}
//search
private void searchTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
if (googleSearch.Checked == true)
getCurrentBrowser().Navigate("
else
getCurrentBrowser().Navigate("
}
private void googleSearch_Click(object sender, EventArgs e)
{
liveSearch.Checked =!googleSearch.Checked;
}
private void liveSearch_Click(object sender, EventArgs e)
{
googleSearch.Checked = !liveSearch.Checked;
}
#endregion
#region LINKS BAR
/*LINKS BAR*/
string adress, name;
//favorits button
private void toolStripButton6_Click(object sender, EventArgs e)
{
favoritesPanel.Visible = !favoritesPanel.Visible;
settings.DocumentElement.Child
}
//add to favorits bar button
private void toolStripButton9_Click(object sender, EventArgs e)
{
if (getCurrentBrowser().Url != null)
addLink(getCurrentBrowser().
}
//showLinks on link bar
private void showLinks()
{
if (File.Exists(linksXml))
{
XmlDocument myXml = new XmlDocument();
myXml.Load(linksXml);
XmlElement root = myXml.DocumentElement;
foreach (XmlElement el in root.ChildNodes)
{
ToolStripButton b =
new ToolStripButton(el.InnerText,
getFavicon(el.GetAttribute("
b.ToolTipText = el.GetAttribute("url");
b.MouseUp += new MouseEventHandler(b_MouseUp);
linkBar.Items.Add(b);
}
}
}
//click link button
private void items_Click(object sender, EventArgs e)
{
ToolStripButton b = (ToolStripButton)sender;
getCurrentBrowser().Navigate(
}
//show context menu on button
private void b_MouseUp(object sender, MouseEventArgs e)
{
ToolStripButton b = (ToolStripButton)sender;
adress = b.ToolTipText;
name = b.Text;
if (e.Button == MouseButtons.Right)
linkContextMenu.Show(
}
//visible change
private void linkBar_VisibleChanged(object sender, EventArgs e)
{
if (linkBar.Visible == true) showLinks();
else while (linkBar.Items.Count > 3) linkBar.Items[linkBar.Items.
}
#endregion
#region LINK, FAVORITES, HISTORY CONTEXT MENU
/*GENERAL*/
//open
private void openToolStripMenuItem1_Click(
{
getCurrentBrowser().Navigate(
}
//open in new tab
private void openInNewTabToolStripMenuItem_