(深入.Net平台和C#编程)第八章.上机练习(网络电视精灵).20170415

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace lesson8_5
 8 {
 9     /// <summary>
10     /// TV节目类
11     /// </summary>
12     public class TvProgram
13     {
14         //节目名称
15         public string ProgramName { get; set; }
16         //时间
17         public string Time { get; set; }
18     }
19 }

TV节目类

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <TypeA>
 3   <channelName>北京电视台</channelName> <!--电视台名称-->
 4   <tvProgramTable>
 5     <tvProgram>
 6       <playTime>2013-9-29 6:02:00</playTime><!--节目播出时间-->
 7       <meridien>早间档</meridien><!--时段-->
 8       <programName>重播:国际双行线</programName><!--节目名称-->
 9       <path>c:\a.wma</path><!--节目视频的本地路径-->
10     </tvProgram>
11     <tvProgram>
12       <playTime>2013-9-29 7:00:00</playTime><!--节目播出时间-->
13       <meridien>早间档</meridien><!--时段-->
14       <programName>北京您好</programName><!--节目名称-->
15       <path>c:\a.wma</path><!--节目视频的本地路径-->
16     </tvProgram>
17     <tvProgram>
18       <playTime>2013-9-29 9:02:00</playTime>
19       <!--节目播出时间-->
20       <meridien>早间档</meridien>
21       <!--时段-->
22       <programName>重播《红星剧场》32集剧:勇者无敌(31)</programName>
23       <!--节目名称-->
24       <path>c:\a.wma</path>
25       <!--节目视频的本地路径-->
26     </tvProgram>
27     <tvProgram>
28       <playTime>2013-9-29 9:58:00</playTime>
29       <!--节目播出时间-->
30       <meridien>早间档</meridien>
31       <!--时段-->
32       <programName>重播《红星剧场》32集剧:勇者无敌(32)</programName>
33       <!--节目名称-->
34       <path>c:\a.wma</path>
35       <!--节目视频的本地路径-->
36     </tvProgram>
37     <tvProgram>
38       <playTime>2013-9-29 11:15:00</playTime>
39       <!--节目播出时间-->
40       <meridien>无间档</meridien>
41       <!--时段-->
42       <programName>重播:专题片:我爱你,中国(14)</programName>
43       <!--节目名称-->
44       <path>c:\a.wma</path>
45       <!--节目视频的本地路径-->
46     </tvProgram>
47     <tvProgram>
48       <playTime>2013-9-29 11:58:00</playTime><!--节目播出时间-->
49       <meridien>午间档</meridien><!--时段-->
50       <programName>身边</programName><!--节目名称-->
51       <path>c:\a.wma</path><!--节目视频的本地路径-->
52     </tvProgram>
53   </tvProgramTable>
54 </TypeA>

北京电视台节目

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <TypeB>
 3   <channelName>凤凰电视台</channelName> <!--电视台名称-->
 4   <tvProgramTable>
 5     <tvProgram>
 6       <playTime>2013-9-29 1:30:00</playTime><!--节目播出时间-->
 7       <meridien>早间档</meridien><!--时段-->
 8       <programName>金龙鱼凤凰剧场:李算</programName><!--节目名称-->
 9       <path>c:\a.wma</path><!--节目视频的本地路径-->
10     </tvProgram>
11     <tvProgram>
12       <playTime>2013-9-29 2:10:00</playTime><!--节目播出时间-->
13       <meridien>早间档</meridien><!--时段-->
14       <programName>非凡人物论成功</programName><!--节目名称-->
15       <path>c:\a.wma</path><!--节目视频的本地路径-->
16     </tvProgram>
17     <tvProgram>
18       <playTime>2013-9-29 2:15:00</playTime>
19       <!--节目播出时间-->
20       <meridien>早间档</meridien>
21       <!--时段-->
22       <programName>有报天天读</programName>
23       <!--节目名称-->
24       <path>c:\a.wma</path>
25       <!--节目视频的本地路径-->
26     </tvProgram>
27     <tvProgram>
28       <playTime>2013-9-29 2:40:00</playTime>
29       <!--节目播出时间-->
30       <meridien>早间档</meridien>
31       <!--时段-->
32       <programName>娱乐大风暴</programName>
33       <!--节目名称-->
34       <path>c:\a.wma</path>
35       <!--节目视频的本地路径-->
36     </tvProgram>
37     <tvProgram>
38       <playTime>2013-9-29 3:15:00</playTime>
39       <!--节目播出时间-->
40       <meridien>无间档</meridien>
41       <!--时段-->
42       <programName>上海新长宁</programName>
43       <!--节目名称-->
44       <path>c:\a.wma</path>
45       <!--节目视频的本地路径-->
46     </tvProgram>
47     <tvProgram>
48       <playTime>2013-9-29 3:20:00</playTime><!--节目播出时间-->
49       <meridien>午间档</meridien><!--时段-->
50       <programName>完全时尚手册:天桥云裳</programName><!--节目名称-->
51       <path>c:\a.wma</path><!--节目视频的本地路径-->
52     </tvProgram>
53   </tvProgramTable>
54 </TypeB>

凤凰卫视台节目

  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Linq;
  7 using System.Text;
  8 using System.Threading.Tasks;
  9 using System.Windows.Forms;
 10 using System.Xml;
 11
 12 namespace lesson8_5
 13 {
 14     public partial class frmMain : Form
 15     {
 16         public frmMain()
 17         {
 18             InitializeComponent();
 19         }
 20         /// <summary>
 21         /// 初始电视台
 22         /// </summary>
 23         public void IniStation()
 24         {
 25             TreeNode node = new TreeNode("我的电视台");
 26             TreeNode node1 = new TreeNode("所有电视台");
 27             tvStation.Nodes.Add(node);
 28             tvStation.Nodes.Add(node1);
 29         }
 30
 31         /// <summary>
 32         /// 窗体加载事件
 33         /// </summary>
 34         /// <param name="sender"></param>
 35         /// <param name="e"></param>
 36         private void frmMain_Load(object sender, EventArgs e)
 37         {
 38             IniStation();
 39             BindBeiJing();
 40             BindFengHuang();
 41             BindFHProgram();
 42             BindBJProgram();
 43         }
 44
 45         /// <summary>
 46         /// 绑定北京电视台
 47         /// </summary>
 48         public void BindBeiJing()
 49         {
 50             string stationName = BindStation("北京电视台节目.xml");
 51             tvStation.Nodes[1].Nodes.Add(stationName);
 52         }
 53
 54         /// <summary>
 55         /// 获取电视台名称
 56         /// </summary>
 57         public string BindStation(string path)
 58         {
 59             string stationName = "";
 60             XmlDocument myXml = new XmlDocument();
 61             myXml.Load(path);
 62             XmlNode node = myXml.DocumentElement;
 63             foreach (XmlNode nod in node.ChildNodes)
 64             {
 65                 switch (nod.Name)
 66                 {
 67                     case "channelName":
 68                         stationName = nod.InnerText;
 69                         break;
 70                 }
 71             }
 72             return stationName;
 73         }
 74
 75         /// <summary>
 76         /// 绑定凤凰电视台
 77         /// </summary>
 78         public void BindFengHuang()
 79         {
 80             string stationName = BindStation("凤凰卫视台节目.xml");
 81             tvStation.Nodes[1].Nodes.Add(stationName);
 82         }
 83         //存储北京电视台节目
 84         List<TvProgram> bj = new List<TvProgram>();
 85         //存储凤凰电视台节目
 86         List<TvProgram> fh = new List<TvProgram>();
 87
 88         /// <summary>
 89         /// 绑定凤凰卫视台节目
 90         /// </summary>
 91         public void BindFHProgram()
 92         {
 93             XmlDocument myXml = new XmlDocument();
 94             myXml.Load("凤凰卫视台节目.xml");
 95             XmlNode node = myXml.DocumentElement;
 96             foreach (XmlNode nod in node.ChildNodes)
 97             {
 98                 switch (nod.Name)
 99                 {
100                     case "channelName":
101
102                         break;
103                     case "tvProgramTable":
104                         foreach (XmlNode item in nod.ChildNodes)
105                         {
106                             TvProgram tv = new TvProgram();
107                             tv.ProgramName = item["programName"].InnerText;
108                             tv.Time = item["playTime"].InnerText;
109                             fh.Add(tv);
110                         }
111                         break;
112                 }
113             }
114         }
115
116         /// <summary>
117         /// 绑定北京电视节目
118         /// </summary>
119         public void BindBJProgram()
120         {
121             XmlDocument myXml = new XmlDocument();
122             myXml.Load("北京电视台节目.xml");
123             XmlNode node = myXml.DocumentElement;
124             foreach (XmlNode nod in node.ChildNodes)
125             {
126                 switch (nod.Name)
127                 {
128                     case "channelName":
129
130                         break;
131                     case "tvProgramTable":
132                         foreach (XmlNode item in nod.ChildNodes)
133                         {
134                             TvProgram tv = new TvProgram();
135                             tv.ProgramName = item["programName"].InnerText;
136                             tv.Time = item["playTime"].InnerText;
137                             bj.Add(tv);
138                         }
139                         break;
140                 }
141             }
142         }
143
144         /// <summary>
145         /// 通过选定项绑定dgv
146         /// </summary>
147         /// <param name="sender"></param>
148         /// <param name="e"></param>
149         private void tvStation_AfterSelect(object sender, TreeViewEventArgs e)
150         {
151             if (tvStation.SelectedNode.Parent != null && tvStation.SelectedNode.Parent.Text.Equals("我的电视台"))
152             {
153                 cmsMenu.Items[1].Visible = false;
154                 cmsMenu.Items[0].Visible = true;
155             }
156
157             else
158             {
159                 cmsMenu.Items[0].Visible = false;
160                 cmsMenu.Items[1].Visible = true;
161             }
162             if (tvStation.SelectedNode.Level == 0)
163             {
164                 cmsMenu.Items[0].Visible = false;
165                 cmsMenu.Items[1].Visible = false;
166             }
167
168             if (tvStation.SelectedNode.Text.Equals("北京电视台"))
169             {
170                 dgvProgram.DataSource = bj;
171             }
172             else if (tvStation.SelectedNode.Text.Equals("凤凰电视台"))
173             {
174                 dgvProgram.DataSource = fh;
175             }
176         }
177
178         /// <summary>
179         /// 加入我的电视台
180         /// </summary>
181         /// <param name="sender"></param>
182         /// <param name="e"></param>
183         private void tsmiAdd_Click(object sender, EventArgs e)
184         {
185             foreach (TreeNode tr in tvStation.Nodes[0].Nodes)
186             {
187                 if (tr.Text.Equals(tvStation.SelectedNode.Text))
188                 {
189                     MessageBox.Show("已有该频道");
190                     return;
191                 }
192             }
193             tvStation.Nodes[0].Nodes.Add(tvStation.SelectedNode.Text);
194             //展开“我的电视台”的节点
195             tvStation.Nodes[0].Expand();
196         }
197
198         /// <summary>
199         /// 删除
200         /// </summary>
201         /// <param name="sender"></param>
202         /// <param name="e"></param>
203         private void tsmiDe_Click(object sender, EventArgs e)
204         {
205             tvStation.SelectedNode.Remove();
206         }
207
208
209     }
210 }

frmMain

时间: 2024-12-20 07:26:40

(深入.Net平台和C#编程)第八章.上机练习(网络电视精灵).20170415的相关文章

S2---深入.NET平台和C#编程的完美总结

1.NET简单解说 l 面向对象提升 OOP(Object Oriented  Programming)面向对象编程 AOP:(Aspache  Oriented Programming):面向切面编程 OOD(Object Oriented  Designer)面向对象设计(架构师)   3万/month OOA(Object Oriented  Analysis)面向对象分析  (分析师) 10万/month DBA(Database Administrator,简称DBA) l 泛型集合对

使用ReactiveCocoa实现iOS平台响应式编程

使用ReactiveCocoa实现iOS平台响应式编程 ReactiveCocoa和响应式编程 在说ReactiveCocoa之前,先要介绍一下FRP(Functional Reactive Programming,响应式编程),在维基百科中有这样一个例子介绍: 在命令式编程环境中,a = b + c 表示将表达式的结果赋给a,而之后改变b或c的值不会影响a.但在响应式编程中,a的值会随着b或c的更新而更新. Excel就是响应式编程的一个例子.单元格可以包含字面值或类似"=B1+C1″的公式,

深入.net平台和c#编程 学习笔记

深入.net平台和c#编程 一:理解.nteFramwork与c# 1.1,:Microsoft.net框架概述 1.2:.net框架结构 1.3.:c#语言概述 1.4:体验框架类库的强大功能 二:用对象思考:属性和方法 2.1:类和对象 2.2::编写一个自己的类 2..3:综合实践 三:用对象思考:值类型和应用类型 3.1:在类中使用几种新的数据类型 3.2::理解c#中的值类型和引用类型 3.3:在类中使用索引器 3.4:使用类图描述类和类成员 四:用集合组织相关数据 4.1::集合概述

python核心编程--第八章 8.15 练习

#!/usr/bin/python # -*- coding: utf-8 -*- # 8–2. 循环. 编写一个程序, 让用户输入三个数字: (f)rom, (t)o, 和 (i)ncrement . # 以 i为步长, 从 f 计数到 t , 包括 f 和 t . 例如, 如果输入的是 f == 2, # t == 26, i == 4 , 程序将输出 2, 6, 10, 14, 18, 22, 26. f = int(raw_input("Please input from: "

Linux平台QT数据库编程(来自网络)

Linux平台QT数据库编程 在linux平台使用qt来编写GUI程序,在进行数据库编程的时候,有两种选择方式,分别是:基于linux平台的数据库接口函数编程,另一种是使用qt自带的有关数据库类.那在这里我分别来讲一下这两种方式的实现. 一.使用linux平台的数据库接口编程: 在这里我使用的是一款免费的数据库sqlite,从网络上下一个sqlite-3.0.8.tar.gz源码包,然后进行安装,安装好后就可以使用它提供的函数接口.接下来我们用安装好的sqlite提供的函数接口,在QT中使用的,

S2 第二本书 深入.NET平台和C#编程 总结 by天命

第一章 深入.NET框架 .NET框架 包含 CLR公共语言运行时 FCL框架类库 CLR(Common Language Runtime)公共语言运行时 CLS(Common Language Specific)公共语言规范 CTS(Common Type System)公共类型系统 FCL(Framework Class Library)框架类库 基本框架类(线程 ADO.NET XML类 文件IO类...... Web窗体 MVC WinForms ADO.NET SqlConnectio

S2--《深入.NET平台和C#编程》

第一章    深入.NET框架 1.1  Microsoft  .NET框架概述 .NET框架的优势 * 提供了一个面向对象的编程环境,完全支持面向对象编程,.NET 框架提高了软件的可复用性,可扩展性,可维护性和灵活性 * 对Web应用的强大支持 * 对Web Service(Web服务)的支持,Web Service是.NET非常重要的内容,它可以实现不同应用程序之间相互通信 * 实现SOA,支持云计算,同时,.NET 也提供了对云计算的支持,Windows Azure 就是一个构建在微软数

Java8函数OA现金盘平台出租式编程实践精华

现在是OA现金盘平台出租haozbbs.comQ1446595067 资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享. 绪论 从java8开始,我们就可以通过java8中的StrameAPI与Lambda表达式实现函数式编程,可以让代码变得更加高效简洁. 现在很多企业的生产代码已经开始使用java8了,对于还没有使用过java8进行的编程的朋友们可以好好的学习一下,我在企业中写java8也有一段时间了,我想把我在实际开发中用到的一些场景与大家分享一下,大部分

深入.net平台和C#编程

第一讲 :深入.NET框架 第二讲:深入C#数据类型 第三讲 :使用结合组织相关数据 第四讲 :深入类的方法 第六讲 :初识继承和多态 第七讲 :深入理解多态 第八讲 :可扩展标记语言(XML) 第九讲:文件操作 第一讲:深入.NET框架 知识拓展: 线程睡眠:1.导入命名空间 System.Treading;  2.Thread.Sleed(毫秒); .NET框架具有两个主要组件:公共语言运行时(CLR)与框架类库(.NET Framework类库,即FCL).CLR是.NET框架的基础.CL