⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sites.cs

📁 章立民-visual stadio 2005 c#编程技巧
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.IO;
using CH9.Properties;

namespace CH9
{
    public partial class Sites : Form
    {
        public Sites()
        {
            InitializeComponent();
        }

        private void Sites_Load(object sender, EventArgs e)
        {
            LoadList();
        }

        private void LoadList()
        {
            // 先清除用来列示网站清单的 ListView 控件。
            lvwWebSites.Items.Clear();

            DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory);
            Settings mySetting = new Settings();

            // 使用内含网站清单的 Xml 档案来建立一个 XmlTextReader 对象。
            using (XmlTextReader rdrXML = new XmlTextReader(di.ToString() + @"\" + mySetting.XmlFileName))
            {
                rdrXML.MoveToContent();

                string ElementName = "";
                bool NextItem = true;
                ListViewItem objListViewItem = null;

                // 此循环负责将每一个网站的名称与网址加载成 ListView 控件中的一个项目。
                do
                {
                    if (NextItem)
                    {
                        objListViewItem = new ListViewItem();
                        NextItem = false;
                    }

                    switch (rdrXML.NodeType)
                    {
                        case XmlNodeType.Element:
                            ElementName = rdrXML.Name;

                            break;
                        case XmlNodeType.Text:
                            if (ElementName == "Name")
                            {
                                objListViewItem.Text = rdrXML.Value;

                                break;
                            }

                            if (ElementName == "URL")
                            {
                                objListViewItem.SubItems.Add(rdrXML.Value);
                                lvwWebSites.Items.Add(objListViewItem);
                                NextItem = true;
                            }

                            break;
                    }
                }
                while (rdrXML.Read());
            }
        }

        private void btnAddSite_Click(object sender, EventArgs e)
        {
            ListViewItem objListViewItem = new ListViewItem();
            objListViewItem.Text = txtWebSite.Text;
            objListViewItem.SubItems.Add(txtURL.Text);
            lvwWebSites.Items.Add(objListViewItem);

            txtWebSite.Text = "";
            txtURL.Text = "";
        }

        private void btnRemoveSite_Click(object sender, EventArgs e)
        {
            ListView.SelectedIndexCollection indexes = lvwWebSites.SelectedIndices;

            foreach (int index in indexes)
            {
                lvwWebSites.Items.RemoveAt(index);
            }
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory);
            Settings mySetting = new Settings();

            using (XmlTextWriter wtrXML = new XmlTextWriter(di.ToString() + @"\" + mySetting.XmlFileName, System.Text.Encoding.UTF8))
            {
                wtrXML.Formatting = Formatting.Indented;
                wtrXML.WriteStartDocument();
                wtrXML.WriteStartElement("WebSites");

                foreach (ListViewItem objListViewItem in lvwWebSites.Items)
                {
                    wtrXML.WriteStartElement("WebSite");
                    wtrXML.WriteElementString("Name", objListViewItem.Text);
                    wtrXML.WriteElementString("URL", objListViewItem.SubItems[1].Text);
                    wtrXML.WriteEndElement();
                }

                wtrXML.WriteEndElement();
                wtrXML.WriteEndDocument();
                wtrXML.Flush();
                wtrXML.Close();
            }

            // 关闭窗体。
            this.Close();
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -