关于《网络电视精灵》项目

编程入门 行业动态 更新时间:2024-10-10 12:22:15

网络电视精灵代码详细步骤

1.定义频道以及节目的属性类

    public abstract class PD
    {
        public DateTime PlayTime { get; set; }
        public string Name { get; set; }
        public string Type { get; set; }
        public string Path { get; set; }
        

        public abstract void F();
    }

  

2.定义频道的北京电视台类和凤凰卫视类

北京电视台类:

 public class TvA:PD
    {

        public override void F()
        {
            XmlDocument doc = new XmlDocument();
            doc.Load("北京电视台.xml");
            XmlNode root = doc.DocumentElement;
            foreach (XmlNode item in root.ChildNodes)
            {
                if (item.Name=="tvProgramTable")
                {
                    foreach (XmlNode i in item.ChildNodes)
                    {
                        TvA t = new TvA();
                        t.PlayTime = Convert.ToDateTime( i["playTime"].InnerText);
                        t.Name = i["programName"].InnerText;
                        t.Path = i["path"].InnerText;
                        t.Type = i["meridien"].InnerText;
                        Tv.list1.Add(t);
                    }
                }
            }
        }
    }

  

凤凰卫视类:

 

 public class TvB:PD
    {

        public override void F()
        {
            XmlDocument doc = new XmlDocument();
            doc.Load("凤凰卫视.xml");
            XmlNode root = doc.DocumentElement;
            foreach (XmlNode item in root.ChildNodes)
            {
                if (item.Name == "ProgramList")
                {
                    foreach (XmlNode i in item.ChildNodes)
                    {
                        TvA t = new TvA();
                        t.PlayTime = Convert.ToDateTime(i["playTime"].InnerText);
                        t.Name = i["name"].InnerText;
                        t.Path = i["path"].InnerText;
                        Tv.list1.Add(t);
                    }
                }
            }
        }
    }

  

 

3.定义简单工厂类

public  class GC
    {
        public static PD G(string type1)
        {
            PD a = null;
            switch (type1)
            {
                case "TypeA":
                    a=new TvA();
                    break;
                case "TypeB":
                    a = new TvB();
                    break;
            }
            return a;
        }
    }

  

 

4.将FullChannels.xml的Xml文件数据解析到内存的集合中

public class Tv
    {
        
        public static List<PD> list = new List<PD>();
        public static List<PD> list1 = new List<PD>();
        public void F()
        {
            XmlDocument Doc = new XmlDocument();
            Doc.Load("FullChannels.xml");
            XmlNode root = Doc.DocumentElement;
            foreach (XmlNode item in root.ChildNodes)
            {
               PD p = GC.G(item["channelType"].InnerText);

               p.Type = item["channelType"].InnerText;
               p.Name = item["tvChannel"].InnerText;
               p.Path = item["path"].InnerText;
               list.Add(p);
            }
        }
    }

  

 

5.在Load世界动态添加treeView

List<PD> list = new List<PD>();
        TreeNode root1;
        private void Form1_Load(object sender, EventArgs e)
        {
            root1 = new TreeNode("我喜欢的节目");
            TreeNode root2 = new TreeNode("所有节目");
            treeView1.Nodes.Add(root1);
            treeView1.Nodes.Add(root2);
            Tv t = new Tv();
            t.F();
            list = Tv.list;
            
            foreach (PD item in list)
            {
                TreeNode tn = new TreeNode();
                tn.Text = item.Name;
                tn.Tag = item;
                root2.Nodes.Add(tn);
            }
        }

  

6.选中treeView产生的事件

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
           
            TreeNode tn = treeView1.SelectedNode;
            PD p = (PD)tn.Tag;
            p.F();
            list1 = Tv.list1;
            dataGridView1.DataSource = list1;
        }

  

7.右键删除添加

private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeNode tn = treeView1.SelectedNode;
            tn.Remove();
        }

        private void 加入我喜欢ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeNode tn = treeView1.SelectedNode;
            TreeNode tn1 = new TreeNode();
            tn1.Text = tn.Text;
            tn1.Tag = tn.Tag;
            root1.Nodes.Add(tn1);
            
        }

  

 

转载于:https://wwwblogs/wyd12138/p/5846461.html

更多推荐

关于《网络电视精灵》项目

本文发布于:2023-06-14 01:09:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1421495.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:网络电视   精灵   项目

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!