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

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://www.cnblogs.com/wyd12138/p/5846461.html

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

  1. 案例 网络电视精灵 c# 1614265410

    案例 网络电视精灵 c# 1614265410 界面情况 细节要求 所有电台,只能添加到我的电脑 我的电台,只能删除操作

  2. 灭顶之灾之网络电视精灵——S2 2.8

    从前,有一个神奇的东西叫做搞搞精灵 关于他,有一段历史. 哎呀!我去!写不下去了. -.-以上玩笑 首先需求分析 TreeView显示两种频道 TypeA和TypeB 所以创建三个类 ChannelB ...

  3. 网络电视精灵 完整版

    namespace _08_电视精灵 {public class ChannelFactory{public static ChannelBase CreateChannel(string type) ...

  4. 第八章,作业(网络电视精灵)

    ----------Xml文件---------- 1 <?xml version="1.0" encoding="utf-8" ?> 2 < ...

  5. C#网络电视精灵系统

    1.XML文件 *存储频道信息 <?xml version="1.0" encoding="utf-8" ?> <TVChannels> ...

  6. 电视精灵(新手练习项目)

    电视精灵 效果展示 该项目主要练习xml文件解析和面向对象思维: 1.电视台和节目信息都要从xml文件中解析,并绑定: 2.实现点击电视频道节点显示该频道的电视节目信息: 3.当时间到达用户设置的节目 ...

  7. 一个年轻的码农的一个C#项目

    话不多少,今天要写一个小项目.我们写项目要做好准备.我们要做项目分析.要知道用户需求,然后在根据需求来规划自己的项目.我们要用自己所学,做最好的程序.尽自己所能完成项目需求.精简代码! 我们今天要写的 ...

  8. RTOS成功取代Linux成为天猫精灵OS的关键 -- AliOS Things 维测专题

    背景 在2018年下半年,天猫精灵系统团队开始研发新一代方糖系列智能音箱,当时业内主流的音箱产品如百度小米等均采用Linux来做智能音箱,Linux系统优势无需多说--开源稳定,三方库完备,芯片厂商硬 ...

  9. 大规模SNS中兴趣圈子的自动挖掘

    转自http://www.infoq.com/cn/articles/zjl-sns-automatic-mining 一.为何要在大规模SNS中挖掘兴趣圈子 随着国外的facebook.twitte ...

最新文章

  1. php实现微信清粉功能,PHP实现微信提现功能
  2. java,验证码base64编码到json字符串出显数据一行一行的问题,关于base64编码函数解释
  3. python3程序转python2_python2到python3代码转化:2to3
  4. apache camel_REST与Apache Camel
  5. JS 的平凡之路--学习人气眼中的效果(上)
  6. joomla tab 扩展_如何使用扩展功能扩展Joomla网站的功能
  7. 【转】【真正福利】成为专业程序员路上用到的各种优秀资料、神器及框架
  8. 中国口内X射线系统行业市场供需与战略研究报告
  9. 坐地起价?三星首款折叠屏手机 1.3 万起!
  10. LeetCode刷题——63. 不同路径 II
  11. C++使用opencv判断一个点是否在多边形之内
  12. Sum nyoj 欧拉定理简单运用(数论入门)
  13. Cimage类的介绍及使用
  14. 免费域名备案查询接口
  15. 联想电脑键盘M,J,K,L,U,I,O,?按键变成0,1,2,3,4,5,6,+的解决方法
  16. 罗马音平假字复制_全部日文平假字翻译
  17. k叉树的性质_相关树及性质
  18. 关于七牛云CDN服务器存储的图片在部分网络下无法访问的问题
  19. 压力传感器与数据采集
  20. Amy姐白富美训练营内部资料

热门文章

  1. kubernetes系列之《构建企业级CICD平台(四)》
  2. 工业互联网:6 商业模式
  3. circular linked listCLL(循环链表)
  4. 很多培训机构先免费学习后还款的猫腻
  5. Android推送 智能心跳解决方案 手机休眠对心跳的影响
  6. docker-compose实现php环境安装
  7. 执法仪app音视频相关
  8. RFID RC522门禁系统
  9. 爬虫笔记(七)——利用selenium对猫眼、豆瓣电影榜单的爬取
  10. Openlayers 根据坐标点画点线圆多边形