zoukankan      html  css  js  c++  java
  • 网络电视精灵(新手练习,如果有不好的地方,请各位多多指导指导小弟。)

    电视精灵效果展示:

    1.电视台和节目信息从xml文件中解析并绑定;

    2.实现点击频道节点时显示有关该频道的节目信息;

    好了,废话不多说。大家请看效果演示,如有不好之处,请多多指教一下,毕竟我还是个新手。

    01.第一张效果图。

    02.第二张效果图。

    03.第三张效果图。

    04.第四张效果图北京电视台,然而截屏软件不行效果不太好。

    05.第五张效果图,然而截屏软件不行效果不太好。

    好了,效果图放完了,下面我们来看看代码吧。你们是不是很期待? 

    1.频道类:

    namespace Day08网络电视精灵
    {
        /// <summary>
        /// 频道父类
        /// </summary>
       public abstract class ChannelBase
       {
           //频道类型
           public string ChannelType { get; set; }
    
           //channelName
            public string ChannelName { get; set; }
           //path
            public string Path { get; set; }
           //节目列表
            private List<TvProgram> ProgramList = new List<TvProgram>();
    
            public List<TvProgram> ProgramList1
            {
                get { return ProgramList; }
                set { ProgramList = value; }
            }
            public abstract void Jx();
    
        }
    }

    2.节目类:

    namespace Day08网络电视精灵
    {
        /// <summary>
        /// 电视节目类
        /// </summary>
        public class TvProgram
        {
            //节目名称
            public string ProgramName { get; set; }
            //时段
            public string Meridien { get; set; }
            //节目路径
            public string Path { get; set; }
            //时间
            public DateTime PlayTime { get; set; }
        }
    }

    3.工厂类:

    namespace Day08网络电视精灵
    {
       public  class Factory
        {
           //创建一个工厂类
           public static ChannelBase CB(string type)
           {
               ChannelBase types = null;
               switch(type)
               {
                   case"TypeA":
                       types = new TypeA();
                       break;
                   case"TypeB":
                       types = new TypeB();
                       break;
               }
    
               return types;
           }
        }
    }

    4.管理类:

    namespace Day08网络电视精灵
    {
        /// <summary>
        /// 频道管理类
        /// </summary>
       public class ChannelManager
        {
            private List<ChannelBase> list = new List<ChannelBase>();
    
            public List<ChannelBase> List
            {
                get { return list; }
                set { list = value; }
            }
    
           public void ResolveChannels() 
           {
                 //1.1 我将解析好的Data中转存放到泛型集合
               //List<自定义类>
    
               XmlDocument doc = new XmlDocument();
               doc.Load("files/FullChannels.xml");
               //找根节点  ()
               XmlNode root=doc.DocumentElement;
               foreach (XmlNode item in root.ChildNodes)
               {
                   //一个item代表什么  Channel
                    ChannelBase channel = Factory.CB(item["channelType"].InnerText); 
                   channel.ChannelType = item["channelType"].InnerText;
                   channel.ChannelName = item["tvChannel"].InnerText;
                   channel.Path = item["path"].InnerText;
    
                   //归属到一个集合中
                   list.Add(channel);
               }
           }
           
        }
    }

    5.北京电视台类:

    namespace Day08网络电视精灵
    {
       public class TypeA:ChannelBase
        {
           public override void Jx()
           {
               XmlDocument doc = new XmlDocument();
               doc.Load("files/北京电视台.xml");
               XmlNode root = doc.DocumentElement;
               foreach (XmlNode item in root.ChildNodes)
               {
                   if (item.Name.Equals("tvProgramTable"))
                   {
                       foreach (XmlNode item2 in item.ChildNodes)
                       {
                           TvProgram Tp = new TvProgram();
                           Tp.PlayTime = Convert.ToDateTime(item2["playTime"].InnerText);
                           Tp.Meridien = item2["meridien"].InnerText;
                           Tp.Path = item2["path"].InnerText;
                           Tp.ProgramName = item2["programName"].InnerText;
                           ProgramList1.Add(Tp);
                       }
                   }
               }
    
           }
        }
    }

    6.凤凰卫视:

    namespace Day08网络电视精灵
    {
        public class TypeB : ChannelBase
        {
            public override void Jx()
            {
                XmlDocument doc = new XmlDocument();
                doc.Load("files/凤凰卫视.xml");
                XmlNode root = doc.DocumentElement;
                foreach (XmlNode item in root.ChildNodes)
                {
                    if (item.Name.Equals("ProgramList"))
                    {
                        foreach (XmlNode item2 in item.ChildNodes)
                        {
                            TvProgram Tp = new TvProgram();
                            Tp.PlayTime = Convert.ToDateTime(item2["playTime"].InnerText);
                            Tp.Path = item2["path"].InnerText;
                            Tp.ProgramName = item2["name"].InnerText;
                            ProgramList1.Add(Tp);
                        }
                    }
                }
    
            }
        }

    7.程序入口:

    namespace Day08网络电视精灵
    {
        static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new FrmMain());
            }
        }
    }

    好了!没有了。如果各位在看的当中发现小弟有不知之处,请提出来,这样小弟可以及时更改学习。
    还有注释写的也不是太完美,反正多多包涵吧!

    勿喷!!!!!!!

  • 相关阅读:
    系统集成项目管理工程师10大管理47个过程域输入输出工具(项目质量管理)
    系统集成项目管理工程师10大管理47个过程域输入输出工具(项目进度管理)
    系统集成项目管理工程师10大管理47个过程域输入输出工具(项目范围管理)
    系统集成项目管理工程师10大管理47个过程域输入输出工具(项目整体管理)
    信息系统项目管理师10大管理47个过程域输入输出工具(项目进度管理)
    系统集成项目管理工程师10大管理5个过程组47个过程域
    信息系统项目管理师10大管理47个过程域输入输出工具(项目范围管理)
    信息系统项目管理师10大管理47个过程域输入输出工具(项目整体管理)
    信息系统项目管理师10大管理5个过程组47个过程域
    信息系统项目管理师高频考点(第十章)
  • 原文地址:https://www.cnblogs.com/cuntouyixiaohuo/p/5847427.html
Copyright © 2011-2022 走看看