




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大理学院课程教案(教学要求)大理学院课程教案(实验教学)课程名称: C#面向对象程序设计 课程类型:( 1 )1、必修;2、选修;3、其它授课对象: 计算机科学与技术 专业(本、专科) 2013 级 1、2班授课时间: 2014 至 2015 学年第 3 学期 计划学时: 36 学时(其中:理论 36 ,实验: 36 )任课教师: 杜英国 所属学院: 数学与计算机学院 课程管理部门(教研室): 软件教研室 大理学院教务处 制第19页课程名称:C#面向对象程序设计教 材:C#程序设计实用教程 黄兴荣 李昌领 李继良编著 清华大学出版社授课人1:杜英国 专业技术职务:讲师学 历:研究生 学 位:硕
2、士授课人2: 专业技术职务:学 历: 学 位:实验题目:Windows应用程序设计 计划学时:3实验类型:( 4 )1、演示性 2、验证性 3、综合性 4、设计性每组实验的学生人数: 1 人教学目的和要求:熟悉C#集成开发环境;了解各功能的菜单命令;显示所有的可见窗口和所有工具栏(箱),随后再将上述的窗口和工具栏(箱)进行隐藏;了解工具栏(箱)中有哪些主要控件;了解控件的属性及事件;掌握控制台应用程序的输入输出方法的使用。实验方法(包括实验中需要注意的问题等):1. 在VS下,创建一个窗体应用程序。2. 在解决方案资源管理其中创建子窗体。3. 在窗体上搭建相关控件。4. 编写代码。5. 注意个
3、窗体之间的数据回传。实验重点(主要解决的问题和达到的目的):1. 窗体、控件的使用。2. 理解窗体间数据回传。3. 掌握分级信息的处理。实验难点(预计实验过程中会遇到的问题和解决方案):1. 窗体间数据回传。2. 分级信息的处理。教学方法(实验前的教学和实验过程中的指导方法): 实验前教师先讲解完9章内容,学生认真复习9章内容;在实验过程中结合实验环境教师可先提示性讲解实验内容,再由学生自己完成实验。如果实验完成情况较差,教师统一辅导。实验仪器和材料:计算机,Windows XP, VS2008实验报告要求和思考题:教师现场检查评价本次实验。参考资料:C#程序设计项目教程实验指导与课程设计 黄
4、兴荣 编著 清华大学出版社 实验5 Windows应用程序设计完成具有如下层次结构节点信息的添加与显示。根节点点学校1学校2学校n学院1学院2学院n专业1专业2专业n班级1班级2班级n学生1学生2学生n例如:大学>楚雄师范院>大理学院 >文学院>数学与计算机学院>计算机科学与技术专业 2010级计算机科学与技术专业2班2010级计算机科学与技术专业1班 序号学号姓名性别12009162201涂桂江男22010162102何芹芹女32010162130张康男42010162131章雕女>信息与计算科学专业>通信专业根节点使用Root类来表示,参
5、考代码如下:using System;using System.Collections.Generic;using System.Text;namespace WindowsApplication1 class Root string rootName; public string RootName set rootName = value; get return rootName; public List<UniversityEventArgs> universityList = new List<UniversityEventArgs>();/存储root节点的子节
6、点,这里是university节点 主界面设计如下:树图控件(TreeView)、列表视图控件(ListView)、上下文菜单(ContextMenuStrip),同学还可以自己添加主菜单来实现上下文菜单功能。主要功能:通过上下文菜单实现节点信息的添加,每一类信息的添加都在一个单独的界面下完成。之后,把所添加的信息回传给Form1窗体。窗体之间的数据回传(通信)通过事件机制实现。树图控件(TreeView)显示所有节点的层次信息。列表视图控件(ListView)显示当前节点的子节点的详细信息。部分程序参考代码:using System;using System.Collections.Gene
7、ric;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace WindowsApplication1 public delegate void UniversityDelegate(object sender,UniversityEventArgs e);/学校回传数据事件使用的代理 public delegate void InstituteDelegate(object sender, Institut
8、eEventArgs e);/学院回传数据事件使用的代理 public partial class Form1 : Form TreeNode node; Root root;/根节点 ListViewItem item ; / <summary> / 初始化Form1窗体,初始化树视图 / </summary> public Form1() InitializeComponent(); root = new Root(); root.RootName = "大学" node = new TreeNode(root.RootName); treeVi
9、ew1.Nodes.Add(node); / <summary> / 学校事件回调函数 / </summary> / <param name="sender">University窗体</param> / <param name="e">UniversityEventArgs实例</param> public void ReceiveUniversityData(object sender, UniversityEventArgs e) if (treeView1.SelectedN
10、ode = null) MessageBox.Show("请选择一个节点", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); return; else node = new TreeNode(e.XiaoMing); treeView1.SelectedNode.Nodes.Add(node); e.FuJieDian = "Root" root.universityList.Add(e);/同学注意这条语句的作用, /由于在选中根节点的时候要在列表视图里面 /显示
11、根节点的所有子节点即大学节点信息 /所以要记录所有大学的信息 treeView1.SelectedNode = node; public void ReceiveInstitute(object sender,InstituteEventArgs e) if (treeView1.SelectedNode = null) MessageBox.Show("请选择一个节点", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); return; else node = new TreeNode
12、(e.XueYuanMing); treeView1.SelectedNode.Nodes.Add(node); treeView1.ExpandAll(); e.FuJieDian = treeView1.SelectedNode.Text;/设置新创建节点的父节点 foreach (UniversityEventArgs uea in root.universityList) /设置选中节点的子节点 if (uea.XiaoMing = treeView1.SelectedNode.Text) uea.ziJieDianJiHe.Add(e); treeView1.SelectedNode
13、 = node; / <summary> / 上下文菜单事件回调函数 / </summary> / <param name="sender">事件源</param> / <param name="e">事件相关信息描述</param> private void 学校ToolStripMenuItem_Click(object sender, EventArgs e) University university = new University(); university.Univer
14、sityData += new UniversityDelegate(ReceiveUniversityData);/绑定事件 university.ShowDialog(); university.UniversityData -= new UniversityDelegate(ReceiveUniversityData);/不再使用该事件,撤销它 private void 学院ToolStripMenuItem_Click(object sender, EventArgs e) Institute institute = new Institute(); institute.Institu
15、teData += new InstituteDelegate(ReceiveInstitute); institute.ShowDialog(); institute.InstituteData += new InstituteDelegate(ReceiveInstitute); / <summary> / 选中树图节点后触发事件的回调函数,动态添加表头,加载信息 / </summary> / <param name="sender"></param> / <param name="e">&
16、lt;/param> private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) listView1.Items.Clear();/清空listView1内容 listView1.Columns.Clear();/清除listView1表头 if (treeView1.SelectedNode.Text = "大学")/选中是根节点则加载所有大学节点 listView1.Columns.Add("校名", 150, HorizontalAlignment.Center
17、); listView1.Columns.Add("地址", 200, HorizontalAlignment.Center); listView1.Columns.Add("主管部门", 150, HorizontalAlignment.Center); listView1.Columns.Add("学校性质", 100, HorizontalAlignment.Center); foreach (UniversityEventArgs uea in root.universityList) item = new ListViewI
18、tem(uea.XiaoMing); item.SubItems.Add(uea.DiZhi); item.SubItems.Add(uea.ZhuGuanBuMen); item.SubItems.Add(uea.XueXiaoXingZhi); listView1.Items.Add(item); else foreach (UniversityEventArgs uea in root.universityList)/选中是大学节点则加载该大学下的所有学院 if (uea.XiaoMing = treeView1.SelectedNode.Text) listView1.Columns.
19、Add("学院名", 150, HorizontalAlignment.Center); listView1.Columns.Add("地址", 200, HorizontalAlignment.Center); listView1.Columns.Add("主管部门", 150, HorizontalAlignment.Center); listView1.Columns.Add("学院概况", 100, HorizontalAlignment.Center); foreach (InstituteEventAr
20、gs inst in uea.ziJieDianJiHe) item = new ListViewItem(inst.XueYuanMing); item.SubItems.Add(inst.DiZhi); item.SubItems.Add(inst.ZhuGuanBuMen); item.SubItems.Add(inst.XueYuanGaiKuang); listView1.Items.Add(item); private void Form1_Load(object sender, EventArgs e) listView1.FullRowSelect = true; listVi
21、ew1.View = View.Details; listView1.Scrollable = true; listView1.MultiSelect = false; 大学窗体界面设计如下:代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace WindowsApplication1 public partia
22、l class University : Form public event UniversityDelegate UniversityData; public University() InitializeComponent(); private void button1_Click(object sender, EventArgs e) if(UniversityData!=null) UniversityEventArgs ue = new UniversityEventArgs(); ue.XiaoMing = textBox1.Text; ue.DiZhi = textBox2.Te
23、xt; ue.ZhuGuanBuMen = textBox3.Text; ue.XueXiaoXingZhi = textBox4.Text; UniversityData(this,ue); this.Close(); private void button2_Click(object sender, EventArgs e) this.Close(); using System;using System.Collections.Generic;using System.Text;namespace WindowsApplication1 / <summary> / 描述学校信息
24、 / </summary> public class UniversityEventArgs:EventArgs string xiaoMing; public string XiaoMing set xiaoMing = value; get return xiaoMing; string diZhi; public string DiZhi set diZhi = value; get return diZhi; string zhuGuanBuMen; public string ZhuGuanBuMen set zhuGuanBuMen = value; get retur
25、n zhuGuanBuMen; string xueXiaoXingZhi; public string XueXiaoXingZhi set xueXiaoXingZhi = value; get return xueXiaoXingZhi; string fuJieDian; public string FuJieDian set fuJieDian = value; get return fuJieDian; public List<InstituteEventArgs> ziJieDianJiHe = new List<InstituteEventArgs>()
26、;/存储学校下属学院的节点集合 学院窗体设计如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace WindowsApplication1 public partial class Institute : Form public event InstituteDelegate InstituteData; pub
27、lic Institute() InitializeComponent(); private void button1_Click(object sender, EventArgs e) if(InstituteData!=null) InstituteEventArgs iea = new InstituteEventArgs(); iea.XueYuanMing = textBox1.Text; iea.DiZhi = textBox2.Text; iea.ZhuGuanBuMen = textBox3.Text; iea.XueYuanGaiKuang = textBox4.Text; InstituteData(this,iea); this.Close(); private void button2_Click(object
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 14496-32:2025 EN Information technology - Coding of audio-visual objects - Part 32: File format reference software and conformance
- 2025年信息技术课程考试题及答案
- 2025年心理学综合能力考试试题及答案
- 2025年心理学与教育专业考试试题及答案
- 2025年数字媒体与动画专业研究生入学考试试题及答案
- 2025年物流与供应链管理考试试卷及答案
- 2025年分析化学基础知识测试试卷及答案
- 2025年环境科学专业考试卷及答案
- 2025年保定市中考二模数学试题及答案
- 三个合伙人的合同范本
- 宣传费用结算合同
- 护理文献分享的课件
- 重庆十八中学2024届八年级下册数学期末教学质量检测试题含解析
- 企业周年庆蛋糕定制协议
- 苹果行业竞争对手分析分析
- 公安局指挥中心工作总结
- 林业创业计划书
- 冠状动脉粥样硬化的护理查房
- 量子计算芯片技术
- 电子元件考题及参考答案
- 国家开放大学(中央电大)报名登记表(附填写说明)
评论
0/150
提交评论