从前,有一个神奇的东西叫做搞搞精灵

关于他,有一段历史。

哎呀!我去!写不下去了。

-。-以上玩笑

首先需求分析

TreeView显示两种频道 TypeA和TypeB

所以创建三个类 ChannelBase TypeA TypeB

然后每个频道有节目单

节目单也因频道不同而不同 分为两种

所以也是三个类

Programme ProgramA ProgramB

新建一个ChannelBase对象的list集合

load事件

判断快捷菜单用

判断然后给DataGridView设置数据源

频道父类:

A子类

B子类

节目父类

public class ChannelManager{public void Resolve(List<ChannelBase> list){XmlDocument doc = new XmlDocument();doc.Load("files/FullChannels.xml");XmlNode root = doc.DocumentElement;foreach (XmlNode item in root.ChildNodes){if (item["channelType"].InnerText.Equals("TypeA")){TypeA channel = new TypeA();channel.Type = item["channelType"].InnerText;channel.ChannelName = item["tvChannel"].InnerText;channel.Path = item["path"].InnerText;List<ProgramA> proList = new List<ProgramA>();XmlDocument doc2 = new XmlDocument();doc2.Load(item["path"].InnerText);XmlNode node = doc2.DocumentElement;foreach (XmlNode key in node.ChildNodes[1]){ProgramA p = new ProgramA();p.Time = Convert.ToDateTime(key["playTime"].InnerText);p.Meridien = key["meridien"].InnerText;p.Name = key["programName"].InnerText;p.Path = key["path"].InnerText;proList.Add(p);}channel.List = proList;list.Add(channel);}else{TypeB channel = new TypeB();channel.Type = item["channelType"].InnerText;channel.ChannelName = item["tvChannel"].InnerText;channel.Path = item["path"].InnerText;List<ProgramB> proList = new List<ProgramB>();XmlDocument doc2 = new XmlDocument();doc2.Load(item["path"].InnerText);XmlNode node = doc2.DocumentElement;foreach (XmlNode key in node.ChildNodes[0]){ProgramB p = new ProgramB();p.Time = Convert.ToDateTime(key["playTime"].InnerText);p.Name = key["name"].InnerText;p.Path = key["path"].InnerText;proList.Add(p);}channel.List = proList;list.Add(channel);}}}}

最后 核心的代码

然后 完成

转载于:https://www.cnblogs.com/swordtm/p/5846308.html

灭顶之灾之网络电视精灵——S2 2.8相关推荐

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

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

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

    网络电视精灵代码详细步骤 1.定义频道以及节目的属性类 public abstract class PD{public DateTime PlayTime { get; set; }public st ...

  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. 按键精灵获取服务器信息,按键精灵获取窗口信息脚本源码

    该脚本查找当前窗口的子窗体,包括按钮.标签.图像.列表框等,并将这些子窗体的窗口句柄.类名.坐标信息,保存到c盘根目录下的log.txt文件中. 该脚本主要举例说明以下功能: 1.文本文件的读写操作. ...

  9. 如何快速制作脚本?间隔时间自动使用按键精灵游戏技能辅助脚本

    来源:按键学院   [按键精灵] 脚本使用说明: 1. 此脚本可应用于各种网络游戏,用于自动间隔时间使用辅助技能,可自定义三个技能和间隔时间. 2. 脚本开始运行前请先在按键精灵主界面上设置自定义参数 ...

最新文章

  1. 一位群友作为后端开发在滴滴和头条分别干了 2 年的经验总结
  2. 5道面试题,拿捏String底层原理
  3. Statement和PreparedStatement深入学习总结
  4. [LeetCode]LRU Cache有个问题,求大神解答【已解决】
  5. python能做人机界面吗_人机交互程序 python实现人机对话
  6. gcc编译选项【转】
  7. java输出输入的日期_Java编写的日历,输入年月,输出这个月的日期与星期
  8. VS2012下创建QT5应用程序
  9. android camera2预览方向,Android camera2预览无法在横向模式下正常工作
  10. 90+深度学习开源数据集整理|包括目标检测、工业缺陷、图像分割等多个方向...
  11. Docker教程小白实操入门(20)--如何删除数据卷
  12. html设置一个搜索引擎,零基础打造一款属于自己的网页搜索引擎
  13. 第二章-信源与信息熵(一)
  14. TS入门——01.数据类型
  15. 由摊余成本法谈到债券估值
  16. xcode 配置wechat_react-native-wechat微信组件的使用
  17. (跨模态)AI作画——使用stable-diffusion生成图片
  18. python去除字符串中表情字符
  19. 接上篇手工课 材料:美女图片一张, 要求将其制成 边旋转边渐隐的魔幻图片
  20. TCP/UDP、TCP/IP区别

热门文章

  1. ORACLE表空间使用量查询SQL
  2. Kotlin入门(26)数据库ManagedSQLiteOpenHelper
  3. 阿里云产品专家解读链路追踪(Tracing Analysis)
  4. MySQL · 案例分析 · RDS MySQL线上实例insert慢常见原因分析
  5. 【BZOJ】2553: [BeiJing2011]禁忌 AC自动机+期望+矩阵快速幂
  6. SVN:show log问题
  7. 【WPF】绑定Hyperlink超链接
  8. Microsoft Edge更新:支持WebVR,使Flash可以即点即运行
  9. 【POI 2007】Ridges and Valleys山峰和山谷(GRZ)
  10. php降序怎写,php 数组排序(升序、降序及相关问题)