关于《网络电视精灵》项目
网络电视精灵代码详细步骤
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
关于《网络电视精灵》项目相关推荐
- 案例 网络电视精灵 c# 1614265410
案例 网络电视精灵 c# 1614265410 界面情况 细节要求 所有电台,只能添加到我的电脑 我的电台,只能删除操作
- 灭顶之灾之网络电视精灵——S2 2.8
从前,有一个神奇的东西叫做搞搞精灵 关于他,有一段历史. 哎呀!我去!写不下去了. -.-以上玩笑 首先需求分析 TreeView显示两种频道 TypeA和TypeB 所以创建三个类 ChannelB ...
- 网络电视精灵 完整版
namespace _08_电视精灵 {public class ChannelFactory{public static ChannelBase CreateChannel(string type) ...
- 第八章,作业(网络电视精灵)
----------Xml文件---------- 1 <?xml version="1.0" encoding="utf-8" ?> 2 < ...
- C#网络电视精灵系统
1.XML文件 *存储频道信息 <?xml version="1.0" encoding="utf-8" ?> <TVChannels> ...
- 电视精灵(新手练习项目)
电视精灵 效果展示 该项目主要练习xml文件解析和面向对象思维: 1.电视台和节目信息都要从xml文件中解析,并绑定: 2.实现点击电视频道节点显示该频道的电视节目信息: 3.当时间到达用户设置的节目 ...
- 一个年轻的码农的一个C#项目
话不多少,今天要写一个小项目.我们写项目要做好准备.我们要做项目分析.要知道用户需求,然后在根据需求来规划自己的项目.我们要用自己所学,做最好的程序.尽自己所能完成项目需求.精简代码! 我们今天要写的 ...
- RTOS成功取代Linux成为天猫精灵OS的关键 -- AliOS Things 维测专题
背景 在2018年下半年,天猫精灵系统团队开始研发新一代方糖系列智能音箱,当时业内主流的音箱产品如百度小米等均采用Linux来做智能音箱,Linux系统优势无需多说--开源稳定,三方库完备,芯片厂商硬 ...
- 大规模SNS中兴趣圈子的自动挖掘
转自http://www.infoq.com/cn/articles/zjl-sns-automatic-mining 一.为何要在大规模SNS中挖掘兴趣圈子 随着国外的facebook.twitte ...
最新文章
- php实现微信清粉功能,PHP实现微信提现功能
- java,验证码base64编码到json字符串出显数据一行一行的问题,关于base64编码函数解释
- python3程序转python2_python2到python3代码转化:2to3
- apache camel_REST与Apache Camel
- JS 的平凡之路--学习人气眼中的效果(上)
- joomla tab 扩展_如何使用扩展功能扩展Joomla网站的功能
- 【转】【真正福利】成为专业程序员路上用到的各种优秀资料、神器及框架
- 中国口内X射线系统行业市场供需与战略研究报告
- 坐地起价?三星首款折叠屏手机 1.3 万起!
- LeetCode刷题——63. 不同路径 II
- C++使用opencv判断一个点是否在多边形之内
- Sum nyoj 欧拉定理简单运用(数论入门)
- Cimage类的介绍及使用
- 免费域名备案查询接口
- 联想电脑键盘M,J,K,L,U,I,O,?按键变成0,1,2,3,4,5,6,+的解决方法
- 罗马音平假字复制_全部日文平假字翻译
- k叉树的性质_相关树及性质
- 关于七牛云CDN服务器存储的图片在部分网络下无法访问的问题
- 压力传感器与数据采集
- Amy姐白富美训练营内部资料