Як отримати значок веб-сайту

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Web-браузер.doc

— 355.50 Кб (Скачать файл)

{

    getCurrentBrowser().ShowPageSetupDialog();

}

 

- public void ShowPrintDialog (): Відкривається діалогове вікно друку Internet Explorer без врегулювання значень магістралі і нижнього колонтитулу.

 

private void printToolStripMenuItem_Click(object sender, EventArgs e)

{

    getCurrentBrowser().ShowPrintDialog();

}

 

- public void ShowPrintPreviewDialog (): Відкривається діалогове вікно попереднього перегляду друку Internet Explorer.

 

private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e)

{

    getCurrentBrowser().ShowPrintPreviewDialog();

}

 

- public void ShowSaveAsDialog ():Відкривається діалогове вікно збереження web-сторінки Internet Explorer, або діалогове вікно Збереження гостьового документа,  якщо це - не сторінка HTML.

 

private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)

{

    getCurrentBrowser().ShowSaveAsDialog();

}

Вирізати, Копіювати, Вставити, Виділити Все

Елемент WebBrowser має властивість Документа, яка отримує HtmlDocument, що представляє веб-сторінку, яка зараз показана в цьому елементі. В цьому HtmlDocument ви можете виконувати специфічні команди "Cut" (вирізати) або "Copy" (копіювати). У прикладі нижче показано, як можна це зробити.

 

//cut

private void cutToolStripMenuItem_Click(object sender, EventArgs e)

{

    getCurrentBrowser().Document.ExecCommand("Cut", false, null);

 

}

//copy

private void copyToolStripMenuItem_Click(object sender, EventArgs e)

{

    getCurrentBrowser().Document.ExecCommand("Copy", false, null);

 

}

//paste

private void pasteToolStripMenuItem_Click(object sender, EventArgs e)

{

    getCurrentBrowser().Document.ExecCommand("Paste", false, null);

}

//select all

private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)

{

    getCurrentBrowser().Document.ExecCommand("SelectAll", true, null);

}

 

 

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Linq;

using System.Windows.Forms;

using System.Collections;

using System.IO;

using System.Xml;

using System.Net;

using System.Diagnostics;

using System.Globalization;

 

namespace WBrowser

{

    public partial class WBrowser : Form

    {

        public static String favXml = "favorits.xml", linksXml = "links.xml";

        String settingsXml="settings.xml", historyXml="history.xml";

        List<String> urls = new List<String>();

        XmlDocument settings = new XmlDocument();

        String homePage;

        CultureInfo currentCulture;

 

        public WBrowser()

        {

            InitializeComponent();

            currentCulture = CultureInfo.CurrentCulture;

        }

 

        #region Form load/Closing/Closed

      

//visible items

        private void setVisibility()

        {

            if (!File.Exists(settingsXml))

            {

                XmlElement r = settings.CreateElement("settings");

                settings.AppendChild(r);

                XmlElement el ;

               

                el=settings.CreateElement("menuBar");

                el.SetAttribute("visible","True");

                r.AppendChild(el);

 

                el = settings.CreateElement("adrBar");

                el.SetAttribute("visible","True");

                r.AppendChild(el);

 

                el = settings.CreateElement("linkBar");

                el.SetAttribute("visible","True");

                r.AppendChild(el);

 

                el = settings.CreateElement("favoritesPanel");

                el.SetAttribute("visible","True");

                r.AppendChild(el);

 

                el = settings.CreateElement("SplashScreen");

                el.SetAttribute("checked", "True");

                r.AppendChild(el);

 

                 el = settings.CreateElement("homepage");

                el.InnerText="about:blank";

                r.AppendChild(el);

 

                el = settings.CreateElement("dropdown");

                el.InnerText = "15";

                r.AppendChild(el);

            }

            else

            {

                settings.Load(settingsXml);

                XmlElement r = settings.DocumentElement;

                menuBar.Visible = (r.ChildNodes[0].Attributes[0].Value.Equals("True"));

                adrBar.Visible = (r.ChildNodes[1].Attributes[0].Value.Equals("True"));

                linkBar.Visible=(r.ChildNodes[2].Attributes[0].Value.Equals("True"));

                favoritesPanel.Visible = (r.ChildNodes[3].Attributes[0].Value.Equals("True"));

                splashScreenToolStripMenuItem.Checked = (r.ChildNodes[4].Attributes[0].Value.Equals("True"));

                homePage=r.ChildNodes[5].InnerText;

            }

 

            this.linksBarToolStripMenuItem.Checked = linkBar.Visible;

            this.menuBarToolStripMenuItem.Checked = menuBar.Visible;

            this.commandBarToolStripMenuItem.Checked = adrBar.Visible;

            splashScreenToolStripMenuItem.Checked = (settings.DocumentElement.ChildNodes[4].Attributes[0].Value.Equals("True"));

            homePage = settings.DocumentElement.ChildNodes[5].InnerText;

        }

        // form load

        private void Form1_Load(object sender, EventArgs e)

        {

            this.toolStripStatusLabel1.Text = "Done";

            comboBox1.SelectedItem = comboBox1.Items[0];

            setVisibility();

            addNewTab();

            if (splashScreenToolStripMenuItem.Checked == true)

                (new About(true)).Show();

        }

        //form closing

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)

        {

            if (browserTabControl.TabCount != 2)

            {

                DialogResult dlg_res = (new Close()).ShowDialog();

 

                if (dlg_res == DialogResult.No) { e.Cancel = true; closeTab(); }

                else if (dlg_res == DialogResult.Cancel) e.Cancel = true;

                else Application.ExitThread();

            }

        }

        //form closed

        private void WBrowser_FormClosed(object sender, FormClosedEventArgs e)

        {

            settings.Save(settingsXml);

            File.Delete("source.txt");

        }

 

         #endregion

 

        #region FAVORITES,LINKS,HISTORY METHODS

 

        //addFavorit method

        private void addFavorit(String url, string name)

        {

            XmlDocument myXml = new XmlDocument();

            XmlElement el = myXml.CreateElement("favorit");

            el.SetAttribute("url", url);

            el.InnerText = name;

            if (!File.Exists(favXml))

            {

                XmlElement root = myXml.CreateElement("favorites");

                myXml.AppendChild(root);

                root.AppendChild(el);

            }

            else

            {

                myXml.Load(favXml);

                myXml.DocumentElement.AppendChild(el);

            }

            if (favoritesPanel.Visible == true)

            {

                TreeNode node = new TreeNode(el.InnerText, faviconIndex(el.GetAttribute("url")), faviconIndex(el.GetAttribute("url")));

                node.ToolTipText = el.GetAttribute("url");

                node.Name = el.GetAttribute("url");

                node.ContextMenuStrip = favContextMenu;

                favTreeView.Nodes.Add(node);

            }

            myXml.Save(favXml);

        }

        //addLink method

        private void addLink(String url, string name)

        {

            XmlDocument myXml = new XmlDocument();

            XmlElement el = myXml.CreateElement("link");

            el.SetAttribute("url", url);

            el.InnerText = name;

 

            if (!File.Exists(linksXml))

            {

                XmlElement root = myXml.CreateElement("links");

                myXml.AppendChild(root);

                root.AppendChild(el);

            }

            else

            {

                myXml.Load(linksXml);

                myXml.DocumentElement.AppendChild(el);

            }

            if (linkBar.Visible == true)

            {

                ToolStripButton b =

                          new ToolStripButton(el.InnerText, getFavicon(url), items_Click, el.GetAttribute("url"));

                b.ToolTipText = el.GetAttribute("url");

                b.MouseUp += new MouseEventHandler(b_MouseUp);

                linkBar.Items.Add(b);

            }

 

            if (favoritesPanel.Visible == true)

            {

                TreeNode node = new TreeNode(el.InnerText, faviconIndex(url), faviconIndex(el.GetAttribute("url")));

                node.Name = el.GetAttribute("url");

                node.ToolTipText = el.GetAttribute("url");

                node.ContextMenuStrip = linkContextMenu;

                favTreeView.Nodes[0].Nodes.Add(node);

            }

            myXml.Save(linksXml);

        }

        //delete link method

        private void deleteLink()

        {

             if (favoritesPanel.Visible == true)

                favTreeView.Nodes[0].Nodes[adress].Remove();

             if (linkBar.Visible == true)

                 linkBar.Items.RemoveByKey(adress);

            XmlDocument myXml = new XmlDocument();

            myXml.Load(linksXml);

            XmlElement root = myXml.DocumentElement;

            foreach (XmlElement x in root.ChildNodes)

            {

                if (x.GetAttribute("url").Equals(adress))

                {

                    root.RemoveChild(x);

                    break;

                }

            }

 

            myXml.Save(linksXml);

        }

        //renameLink method

        private void renameLink()

        {

            RenameLink rl = new RenameLink(name);

            if (rl.ShowDialog() == DialogResult.OK)

            {

                XmlDocument myXml = new XmlDocument();

                myXml.Load(linksXml);

                foreach (XmlElement x in myXml.DocumentElement.ChildNodes)

                {

                    if (x.InnerText.Equals(name))

                    {

                        x.InnerText = rl.newName.Text;

                        break;

                    }

                }

                if(linkBar.Visible==true)

                  linkBar.Items[adress].Text = rl.newName.Text;

                if(favoritesPanel.Visible==true)

                favTreeView.Nodes[0].Nodes[adress].Text = rl.newName.Text;

                myXml.Save(linksXml);

            }

            rl.Close();

        }

        //delete favorit method

        private void deleteFavorit()

        {

            favTreeView.SelectedNode.Remove();

 

            XmlDocument myXml = new XmlDocument();

            myXml.Load(favXml);

            XmlElement root = myXml.DocumentElement;

            foreach (XmlElement x in root.ChildNodes)

            {

                if (x.GetAttribute("url").Equals(adress))

                {

                    root.RemoveChild(x);

                    break;

                }

            }

 

            myXml.Save(favXml);

 

        }

        //renameFavorit method

        private void renameFavorit()

        {

            RenameLink rl = new RenameLink(name);

            if (rl.ShowDialog() == DialogResult.OK)

            {

                XmlDocument myXml = new XmlDocument();

                myXml.Load(favXml);

                foreach (XmlElement x in myXml.DocumentElement.ChildNodes)

                {

                    if (x.InnerText.Equals(name))

                    {

                       x.InnerText = rl.newName.Text;

                        break;

                    }

                }

                favTreeView.Nodes[adress].Text = rl.newName.Text;

                myXml.Save(favXml);

            }

            rl.Close();

        }

 

        //addHistory method

        private void addHistory(Uri url,string data)

        {

            XmlDocument myXml = new XmlDocument();

            int i=1;

            XmlElement el = myXml.CreateElement("item");

            el.SetAttribute("url", url.ToString());

            el.SetAttribute("lastVisited", data);

 

            if (!File.Exists(historyXml))

            {

                XmlElement root = myXml.CreateElement("history");

                myXml.AppendChild(root);

                el.SetAttribute("times", "1");

                root.AppendChild(el);

            }

            else

            {

                myXml.Load(historyXml);

 

                foreach (XmlElement x in myXml.DocumentElement.ChildNodes)

                {

                    if (x.GetAttribute("url").Equals(url.ToString()))

                    {

                        i = int.Parse(x.GetAttribute("times")) + 1;

                        myXml.DocumentElement.RemoveChild(x);

                        break;

                    }

                }

 

                el.SetAttribute("times", i.ToString());

                myXml.DocumentElement.InsertBefore(el, myXml.DocumentElement.FirstChild);

 

                if (favoritesPanel.Visible == true)

                {

                    /*ordered visited today*/

                    if (comboBox1.Text.Equals("Ordered Visited Today"))

                    {

                        if (!historyTreeView.Nodes.ContainsKey(url.ToString()))

                        {

                            TreeNode node =

                                 new TreeNode(url.ToString(), 3, 3);

                            node.ToolTipText = url.ToString() + "\nLast Visited: " + data + "\nTimes visited :" + i.ToString();

                            node.Name = url.ToString();

                            node.ContextMenuStrip = histContextMenu;

                            historyTreeView.Nodes.Insert(0, node);

                        }

                        else

                            historyTreeView.Nodes[url.ToString()].ToolTipText

                              = url.ToString() + "\nLast Visited: " + data + "\nTimes visited: " + i.ToString();

                    }

                    /*view by site*/

                    if (comboBox1.Text.Equals("View By Site"))

                    {

                        if (!historyTreeView.Nodes.ContainsKey(url.Host.ToString()))

                        {

                            historyTreeView.Nodes.Add(url.Host.ToString(), url.Host.ToString(), 0, 0);

 

                            TreeNode node =

                                   new TreeNode(url.ToString(), 3, 3);

                            node.ToolTipText = url.ToString() + "\nLast Visited: " + data + "\nTimes visited: " + i.ToString();

                            node.Name = url.ToString();

                            node.ContextMenuStrip = histContextMenu;

                            historyTreeView.Nodes[url.Host.ToString()].Nodes.Add(node);

                        }

 

                        else

                            if (!historyTreeView.Nodes[url.Host.ToString()].Nodes.ContainsKey(url.ToString()))

                            {

                                TreeNode node =

                                    new TreeNode(url.ToString(), 3, 3);

                                node.ToolTipText = url.ToString() + "\nLast Visited: " + data + "\nTimes visited: " + i.ToString();

                                node.Name = url.ToString();

                                node.ContextMenuStrip = histContextMenu;

Информация о работе Як отримати значок веб-сайту