面向对象程序设计(C#.net)实训指导书_第1页
面向对象程序设计(C#.net)实训指导书_第2页
面向对象程序设计(C#.net)实训指导书_第3页
面向对象程序设计(C#.net)实训指导书_第4页
面向对象程序设计(C#.net)实训指导书_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、江门职业技术学院江门职业技术学院 面向对象程序设计面向对象程序设计 课程实训指导书课程实训指导书 电子与信息技术系电子与信息技术系 刘丽琳刘丽琳 200910 目目 录录 实训一实训一 WINDOWS 窗体基本控件的应用窗体基本控件的应用.1 一、实验目的.1 二、实验设备和仪器.1 三、实验原理及步骤.1 练习练习 1、时钟实例、时钟实例.1 (一)实训目标.1 (二)实训内容.1 练习练习 2、加法练习器实例、加法练习器实例.2 (一)实训目标.2 (二)实训内容.3 练习练习 3、项目选择器实例、项目选择器实例.5 (一)实训目标.5 (二)实训内容.5 练习练习 4、选择题应答器实例、

2、选择题应答器实例.7 (一)实训目标.7 (二)实训内容.7 练习练习 5、英文字母练习器实例、英文字母练习器实例.9 (一)实训目标.9 (二)实训内容.9 四、编写实验报告四、编写实验报告.12 实训二实训二 文件处理的应用文件处理的应用.13 一、实验目的及要求.13 二、实验设备和仪器.13 三、实验原理及步骤.13 练习练习 1、文件夹浏览器实例、文件夹浏览器实例.13 (一)实训目标.13 (二)实训内容.13 练习练习 2、操作、操作 EXCEL 文件实例文件实例.17 (一)实训目标.17 (二)实训内容.18 四、编写实验报告四、编写实验报告.20 实训三实训三 图形图像的应

3、用图形图像的应用.21 一、实验目的及要求.21 二、实验设备和仪器.21 三、实验原理及步骤.21 练习练习 1、动画设计、动画设计-跳舞的小女孩实例跳舞的小女孩实例.21 (一)实训目标.21 (二)实训内容.21 练习练习 2、人物拼图游戏实例、人物拼图游戏实例.23 2 (一)实训目标.23 (二)实训内容.23 练习练习 3、生成数字字符验证码图片实例、生成数字字符验证码图片实例.28 (一)实训目标.28 (二)实训内容.28 练习练习 4、不规则窗体实例、不规则窗体实例.32 (一)实训目标.32 (二)实训内容.32 四、编写实验报告四、编写实验报告.33 实训四实训四 多媒体

4、的应用多媒体的应用.34 一、实验目的及要求.34 二、实验设备和仪器.34 三、实验原理及步骤.34 练习练习 1、播放声音文件实例、播放声音文件实例.34 (一)实训目标.34 (二)实训内容.34 练习练习 2、播放、播放 RealPlayer 文件实例文件实例.36 (一)实训目标.36 (二)实训内容.36 四、编写实验报告四、编写实验报告.40 实训五实训五 综合实训综合实训-小型管理信息系统的开发应用小型管理信息系统的开发应用.41 一、实验目的及要求.41 二、课程设计过程与具体要求二、课程设计过程与具体要求.41 三、开发阶段任务及角色分工参考三、开发阶段任务及角色分工参考.

5、41 四、课程设计交付成果说明四、课程设计交付成果说明.42 五、考核方式及评分标准五、考核方式及评分标准.43 六、可选系统题目六、可选系统题目.43 六、范例六、范例.44 学生信息管理系统.44 一、需求分析一、需求分析.44 二、系统分析二、系统分析.47 三、数据库设计三、数据库设计.49 四、系统实现四、系统实现.52 1 实训一实训一 Windows 窗体基本控件的应用窗体基本控件的应用 一、实验目的一、实验目的 1熟悉 C#的编译环境。 2掌握编写 Windwos 项目程序的一般步骤 3掌握 Windows 窗体基本控件的使用方法。 4. 掌握使用 C#集成开发环境编译调试程序

6、。 5. 熟悉 C#开发工具及基本控件,及其调试技术。 二、实验设备和仪器二、实验设备和仪器 装有 Windows 操作系统的计算机 三、实验原理及步骤三、实验原理及步骤 练习练习 1、时钟实例、时钟实例 (一)实训目标 1.掌握编写简单的 Windows 应用程序的方法 2.掌握 Label 控件和 Timer 控件的应用 3.掌握 DateTime 类的应用 4.完成时钟实例的程序编写 (二)实训内容 1.时钟实例的程序功能及用户界面 在这个窗体中,显示了系统当前的日期和时间。日期和时间每秒钟被更新一次, 表现出动态走时的效果。程序运行后的用户界面如下图。 2.Label 控件 Label

7、 控件称为标签,它是最简单又最常用的控件。标签主要用来显示静态文字, 这些文字通常用作指示性的说明,或者输出简短的文本信息。程序运行后标签控件上的 文字信息不能被用户编辑修改。 常用属性: Text 属性 设置控件的文本内容。 AutoSize 属性 设置控件是否能够自动调整大小以显示 Text 属性中的所有内容。 Location 属性 设置或获取控件在容器中的位置,该位置确定控件的左上角相对容 器的 X 和 Y 坐标。 2 Size 属性 设置或获取控件的大小。 BackColor 属性 设置控件的背景颜色。 ForeColor 属性 设置或获取控件的前景颜色。 BorderStyle 属

8、性 设置或获取控件的边框风格。 。 Font 属性 设置控件的字体。 Cursor 属性 设置鼠标在控件上的光标形状。 Enabled 属性 设置控件的可用性。 Visible 属性 设置控件的可见性。 3.Timer 控件 Timer 控件称计时器,它用来计时。当程序中每隔一段时间就要调用某段程序时, 就使用它来控制。 1)常用属性 Enabled 属性 设置记时器的可用性。 Interval 属性 设定记时器的时间间隔。 2)Tick 事件 Timer 控件的事件只有一个 Tick,它每到指定的时间间隔时发生。在这个事件 的处理程序中编写每过一段时间就要执行的代码,例如时钟实例中更新日期和

9、时间 的代码。 4.时钟实例的设计步骤 创建 Windows 应用程序项目,项目名称为“时钟实例”。 向默认窗体中拖入 7 个 Label 控件,控件名称为 label1label7。这些控件用来 显示日期和时间。 向窗体中拖入一个 Timer 控件,控件名称为 timer1,用来控制时间和日期的更新。 5.时钟实例的主要程序代码 private void Form1_Load(object sender, System.EventArgs e) /使用 DateTime 类的静态属性 Now 获取当前的日期和时间 /将日期和时间数据作为各标签的 Text label1.Text=DateTi

10、me.Now.Year.ToString(); label3.Text=DateTime.Now.Month.ToString(); label5.Text=DateTime.Now.Day.ToString(); label7.Text=DateTime.Now.ToLongTimeString(); private void timer1_Tick(object sender, System.EventArgs e) /调用 Form1 的 Load 事件代码显示日期和时间 Form1_Load(sender,null); 练习练习 2、加法练习器实例、加法练习器实例 3 (一)实训目标

11、1.加深了解 Windows 窗体和控件的属性、方法和事件 2.熟练掌握 Windows 应用程序设计步骤和方法 3.掌握 Button 控件和 TextBox 控件的应用 4.初步接触使用 MessageBox.Show 输出信息的方法 5.完成加法练习器实例的程序编写 (二)实训内容 1.加法练习器的功能及用户界面 在这个窗体中,程序能自动产生一道随机的两个一位整数相加的练习题,用户 在文本框中输入答案后回车确认。若答案正确,将在一个信息框中显示“恭喜,你答 对了!”,并自动产生下一道题供用户作答;若答案不正确,会在一个信息框中显示 “你答错了,再来一次!”,不产生新的题目,直到本题答对后

12、再产生下一道题。当 用户单击【退出】按钮时,窗体被关闭而结束程序。程序运行后的效果如下图。 2.Button 控件 Button 控件称为命令按钮,主要用来启动一个命令。 1)常用的属性 Image 属性 设置命令按钮上显示的图片。 ToolTip 属性 鼠标悬停在命令按钮上时显示的文字提示。 Enabled 属性 设置命令按钮的可用性。 2)常用的事件 命令按钮也有许多事件,常常只为 Click 事件编程。鼠标左键单击该控件时发 生 Click 事件,在该事件处理程序中编写按钮的功能代码。 3.TextBox 控件 TextBox 控件称为文本框,主要用来接受用户的输入,当然也可以用于输出信

13、息。 1)常用的属性 Multiline 属性 设置文本框是否可以多行显示或输入。 ScrollBars 属性 设置文本框的滚动条。 ReadOnly 属性 设置文本框是否只读。 PasswordChar 属性 设置在文本框中输入口令时的掩盖字符。 Dock 属性 设置控件的停靠位置,指示停靠到容器的哪边。 2)常用的事件 Enter 事件 文本框获得光标时发生。 Leave 事件 文本框失去光标时发生。 KeyDown 事件 按下某键时发生。 KeyUp 事件 键弹起时发生。 KeyPress 事件 完成一次按键时发生。 TextChanged 事件 当文本发生改变后发生。 4 Valida

14、ting 事件 验证控件时发生。 3)常用的方法 Clear 方法 从文本框中清除所有文本。 Copy 方法 将文本框中选定的内容复制到剪贴板中。 Cut 方法 将文本框中选定的内容剪切到剪贴板中。 Paste 方法 用剪贴板中的内容替换文本框中当前选定的内容。 Select 方法 选定文本框的一部分文字。 SelectAll 方法 选定文本框的全部文字。 Focus 方法 将输入焦点于置文本框内。 Undo 方法 撤消在文本框中的上一次编辑操作。 ClearUndo 方法 清除缓冲区中有关撤消操作的信息。 4.加法练习器的设计步骤 创建 Windows 应用程序项目,项目名称为“加法练习器实

15、例”。 向默认窗体中拖入 4 个 Label 控件,控件名称为 label1label4。这些 Label 控件 用来显示练习的题目。 向窗体中拖入一个 TextBox 控件,控件名称为 textBox1,程序运行后供用户输 入答案。 向窗体中拖入一个 Button 控件,控件名称为 button1,用户单击它可以退出程序。 5.加法练习器的主要程序代码 private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) /在文本框中只能输入数字 if(!(Char.IsDigit(e.

16、KeyChar)=true | e.KeyChar=8) e.Handled=true; /如果按了回车键 if(e.KeyChar=13) /回车键的 KeyChar 为 13 if(this.textBox1.Text=) MessageBox.Show(你未输入答案!); return; int a,b,c; /将标签和文本框的 Text 转换成整型数 a=int.Parse(label1.Text); b=int.Parse(label3.Text); c=int.Parse(textBox1.Text); if (c=a+b) /若答案正确 /调用消息框的 Show 方法显示信息 5

17、 MessageBox.Show(恭喜,你答对了!); /调用 Form1_Load 事件处理程序产生下一道题 Form1_Load(null,null); /清空文本框 textBox1.Text=; /置光标于文本框内 textBox1.Focus(); else /若答案不正确 MessageBox.Show(你答错了,再来一次!); textBox1.Text=; textBox1.Focus(); 练习练习 3、项目选择器实例、项目选择器实例 (一)实训目标 1.理解事件驱动编程机制 2.熟练掌握事件处理程序代码编写 3.掌握 ListBox 控件和 ComboBox 控件的应用 4

18、.完成项目选择器实例的程序编写 (二)实训内容 1.项目选择器的功能及用户界面 在这个窗体中,由左右两个 ListBox 控件构成选择器,两个列表框中的项目可以 互选,窗体上部的组合框供用户设定其下方两个列表框的风格,列表框风格有“单列 显示”和“多列显示”两种。程序运行的效果如下图。 2.ListBox 控件 ListBox 控件称为列表框,程序运行后用户可以从列表中选择某些项。 1)常用属性 DataSource 属性 列表框获取列表项的数据源。 Items 属性 列表框中的各项。它是一个集合。 6 MultiColumn 属性 设置列表框是否可以多列显示 SelectionMode 属性

19、 设置列表框是否可以选择多项。 SelectedItems 属性 列表框中选择项的集合。 SelectIndex 属性 列表框中第一个选定项的索引号。 SelectItem 属性 列表框中的选定项。 Text 属性 列表框中选定项的文本。 2)常用事件 DoubleClick 事件 双击控件时发生。 SelectedIndexChange 事件 列表框中选择项的索引号变化时发生。 3)常用方法 ClearSelected 方法 撤消对列表框中所有选择项的选择。 SetSelected 方法 设置或撤消对列表框中选择项的选择。 4、Items 集合的常用方法和属性 属性 Items 集合本身又带

20、有很多的方法和属性,这些方法和属性十分有用。 Add 方法 向 Items 添加列表项。 RemoveAt 方法 从 Items 集合中移除指定索引号的某项。 Remove 方法 从 Items 集合中移除某项。 Insert 方法 向 Items 插入列表项到指定索引处。 Count 属性 Items 的项数。 3.ComboBox 控件 ComboBox 控件称为组合框,它是文本框和列表框的组合,既可以接受用户的输入, 也可以接受用户的选择。 常用事件: DropDown 事件 展开下拉表时发生。 SelectedIndexChanged 事件 组合框中选择项的索引号变化时发生。 Text

21、Changed 事件 组合框中的文本变化时发生。 SelectionChangeCommitted 事件 用户提交一个修改时发生。 4.项目选择器的设计步骤 创建 Windows 应用程序项目,项目名称为“项目选择器实例”。 向默认窗体中拖入 1 个 Label 控件,控件名称为 label1。这个 Label 控件用来说 明下方组合框的作用。 向窗体中拖入 1 个 ComboBox 控件,控件名称为 comboBox1,程序运行后供用 户设定列表框的风格。 向窗体中拖入 2 个 ListBox 控件,控件名为 listBox1 和 listBox2,分别用作项目的 备选池(左侧)和已选池(右

22、侧) 。 向窗体中拖入 4 个 Button 控件,控件名称分别为为 button1button4,用来启动从 列表框中移动项目的功能。 5.项目选择器的主要程序代码 、 【】按钮单击代码 private void button1_Click(object sender, System.EventArgs e) 7 /将 listBox1 中的所有选择项添加到 listBox2 中 for(int i=0;ilistBox1.SelectedItems.Count;i+) listBox2.Items.Add(listBox1.SelectedItemsi.ToString(); /从 lis

23、tBox1 中移除所有的选择项 for(int i=0;i】按钮单击代码 private void button2_Click(object sender, System.EventArgs e) /将 listBox1 的的所有项添加到 listBox2 中 for(int i=0;ilistBox1.Items.Count;i+) listBox2.Items.Add(listBox1.Itemsi); /清除 listBox1 中的所有项 listBox1.Items.Clear(); 练习练习 4、选择题应答器实例、选择题应答器实例 (一)实训目标 1.掌握 RadioButton 控

24、件的属性、事件和方法 2.掌握 CheckBox 控件的属性、事件和方法 3.掌握 GroupBox 控件的属性 4.掌握获取用户单选和多选结果的方法 5.完成选择题应答器实例的程序编写 (二)实训内容 1.选择题应答器的功能及用户界面 在这个窗体中,用户可以对单选题和多选题作出选择。当单击【确定】按钮后, 将在窗体右侧的文本框中显示答题的结果。单选题是由一组 RadioButton 控件表示和 作答的,多选题是由一组 CheckBox 控件表示和作答的。程序运行的效果如下图。 8 2.RadioButton 控件 RadioButton 控件称为单选钮。当用户必须在多个选项中选择其一时,可以

25、使用一 组单选钮,此时必须用一个 GroupBox 控件将这些单选钮捆绑成组,使各单选钮间产生 互斥效果。 1)常用的属性 Checked 属性 设置和获取控件的选中状态。 AutoCheck 属性 设置单选钮在单击时是否自动更改状态。 2)常用的事件 Click 事件 单击控件时发生。 CheckedChange 事件 Checked 属性发生变化时发生。 Enter 事件 控件成为活动控件时发生。 3.CheckBox 控件 CheckBox 控件称为检查框(或称核对框) ,当它成组使用时,可以在一组选项中 选择多项,因此也有人把它称为复选框。与单选钮不同的是,一组检查框不存在互斥。 也就

26、是说,在一组复选框中,用户可以选中几个,也可以一个都不选。 检查框与单选钮共享大多数的常用属性、方法和事件。 4.GroupBox 控件 GroupBox 控件称为成组框,它的作用是将一些控件捆绑成一个组,整体控制组内 控件的可用性、可见性或停靠位置,使用户界面清晰明了。值得注意的是,当 RadioButton 控件分组使用时,一定要将每一组分别放在一个 GroupBox 控件内,使组 内控件互斥以起到分组单选的作用。 5.选择题应答器的设计步骤 创建 Windows 应用程序项目,项目名称为“选择题应答器实例”。 向默认窗体中拖入 3 个 Label 控件,控件名称为 label1label

27、3。这 3 个 Label 控 件就是窗体中有深色背景的文字标签,用来标识题目和答案。 向窗体中拖入 2 个 GroupBox 控件,控件名称为 groupBox1 和 groupBox2,其作 用是将 4 个单选钮和 4 个检查框分成两组放置在其内。 向控件 groupBox1 中拖入 4 个 RadioButton 控件,控件名为 radioButton1 radioButton4,用做单选题的选项。 向控件 groupBox2 中拖入 4 个 CheckBox 控件,控件名为 checkBox1 checkBox4,用做多选题的选项。 向窗体中拖入 1 个 TextBox 控件,控件名为

28、 textBox1,用来显示答案。 向窗体中拖入 1 个 Button 控件,控件名为 button1,用来启动提交答案的功能。 6.选择题应答器的主要程序代码 private void button1_Click(object sender, System.EventArgs e) /构造单选题答案 answer1 string answer1= .NET Framework 是一种; if(radioButton1.Checked) answer1=answer1+radioButton1.Text+。; 9 if(radioButton2.Checked) answer1=answer1

29、+radioButton2.Text+。; if(radioButton3.Checked) answer1=answer1+radioButton3.Text+。; if(radioButton4.Checked) answer1=answer1+radioButton4.Text+。; /构造多选题答案 answer2 string answer2=Button 控件的事件有:; if(checkBox1.Checked) answer2=answer2+checkBox1.Text+、; if(this.checkBox2.Checked) answer2=answer2+checkBo

30、x2.Text+、; if(this.checkBox3.Checked) answer2=answer2+checkBox3.Text+、; if(this.checkBox4.Checked) answer2=answer2+checkBox4.Text+、; if(answer2.Length=13) /若 answer2 的字符个数为 13,一组 CheckBox 控件中未勾选任何选项 answer2=Button 控件没有事件。; else int n=answer2.Length; /去掉 answer2 最后一个顿号,加上一个句号 answer2=answer2.Substrin

31、g(0,n-1)+。; /将两个答案合并显示在 textBox1 中 this.textBox1.Text=answer1+answer2; 练习练习 5、英文字母练习器实例、英文字母练习器实例 (一)实训目标 1.掌握 PictureBox 控件的属性、事件和方法 2.掌握窗体键盘事件的应用 3.掌握具有复杂逻辑程序的代码编写 4.完成英文字母练习器实例的程序编写 (二)实训内容 1.英文字母练习器的功能及用户界面 程序运行后,窗体中有 4 个字母由顶部纷纷下落,用户敲击键盘的对应键来击打 这些字母。若某个字母被击中,该字母被炸掉,又有一个新的字母从窗体顶部下落。若 某字母一直未被击中,到达

32、窗体底部后又从窗体的顶部换成另一个字母落下。这些字母 都是随机的。程序运行的效果如下图。 10 2.PictureBox 控件 PictureBox 控件称为图片框。图片框用于显示以文件形式保存下来的图像。 1)常用的属性 Image 属性 用来指定图片源。 SizeMode 属性 设置图片框的尺寸模式。 Enabled 属性 设置控件的可用性 Visible 属性 设置控件的可见性。 2)常用的事件 MouseDown 事件 在按下鼠标按键时发生。 MouseUp 事件 在抬起鼠标按键时发生。 MouseMove 事件 在控件内移动鼠标时发生。 MouseEnter 事件 鼠标移动到控件时发

33、生。 MouseLeave 事件 鼠标离开控件时发生。 MouseHover 事件 鼠标停留在控件上静止一段时间后发生。 3.英文字母练习器的设计步骤 新建一个 Windows 应用程序项目,项目名称为“英文字母练习器实例”。 向默认窗体中拖入 4 个 Label 控件,控件名称为 label1label4。这 4 个 Label 控 件用来表示要被击打的字母。 向窗体中拖入 1 个 PictureBox 控件,控件名称为 pictureBox1。将一幅预先准备 好的表现爆炸景象的图片作为其 Image 图片来源。该控件的作用是当某个字母被击中时, 用它来代替字母,表示该字母被炸掉了。 向窗体

34、中拖入 2 个 Timer 控件,控件名称为 timer1 和 timer2,其中 timer1 用来 控制 4 个字母往下移动,timer2 用来控制爆炸的延时 4.英文字母练习器的主要程序代码 )在窗体加载时生成个随机字母 private void Form1_Load(object sender, System.EventArgs e) /初始化字母数组 c=new char4; Random randomNumber=new Random(); for(int i=0;i4;i+) 11 /由随机数生成的字母给标签的 Text 赋值 int rand=randomNumber.Next

35、(26)+65; ci=(char)rand; Label l=(Label)labelListi; l.Text=ci.ToString(); )控件 timer1 发生 Tick 事件时使个标签下移 private void timer1_Tick(object sender, System.EventArgs e) p0.Y=p0.Y+10; p1.Y=p1.Y+5; p2.Y=p2.Y+8; p3.Y=p3.Y+2; for(int i=0;i=this.Height) pi.Y=0; Random randomNumber=new Random(); int rand=randomN

36、umber.Next(26)+65; ci=(char)rand; l.Text=ci.ToString(); )窗体内按下一键时判断窗体内的字母是否被击中 private void Form1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) for(int i=0;i4;i+) if(e.KeyChar=ci| e.KeyChar-32=ci) n=i; pictureBox1.Location=pi; pictureBox1.Visible=true; Label l=(Label)labelListi;

37、l.Visible=false; timer2.Enabled=true; pi.Y=0; l.Location=pi; 12 Random randomNumber=new Random(); int rand=randomNumber.Next(26)+65; ci=(char)rand; l.Text=ci.ToString(); break; 四、编写实验报告四、编写实验报告 13 实训二实训二 文件处理的应用文件处理的应用 一、实验目的及要求一、实验目的及要求 熟悉 C#.NET 对文件的存储管理以及对文件的读写等各种操作 二、实验设备和仪器二、实验设备和仪器 装有 Windows

38、操作系统的计算机 三、实验原理及步骤三、实验原理及步骤 练习练习 1、文件夹浏览器实例、文件夹浏览器实例 (一)实训目标 1.掌握文件夹浏览器的设计过程 2.掌握控件 TreeView 和 ListView 的属性、方法和事件 3.完成浏览器实例的程序编写 (二)实训内容 1.文件夹浏览器的功能及用户界面 用户在窗体左窗格的树型控件 TreeView 上选择一个文件夹图标,在窗体的右窗格 列表视图 ListView 控件中显示该该文件夹下的文件的相关信息。程序运行后的用户界 面如下图。 2.TreeView 控件 TreeView 控件称为树型控件,其节点呈树型结构,第一层的节点称为根节点,根

39、 节点之下的所有节点都称为子节点。Nodes 属性是树型控件的节点集合,它包括了节点 的数据及节点的层次关系。构造 TreeView 控件的节点有两种办法:使用树节点编辑器 编辑节点和编写程序代码添加节点。 14 1)编写程序代码构造树型控件的根节点 可以调用 TreeView 控件的 Nodes 集合中的一些方法来构造 TreeView 的根节点。 Nodes.Add(TreeNode node)方法:向控件添加一个根节点。调用该方法需要一 个 TreeNode 类型的实参,也就是一个节点实例。使用的例子有: TreeNode node=new TreeNode(北京,0,1); treeV

40、iew1.Nodes.Add(node) ; 构造一个节点实例 node,该节点的文本为“北京”,节点未选中时的图标来自控 件 imageList1 的第一幅图像,节点选中后的图标来自 imageList1 的第二幅图像。 将节点 Node 添加到控件 treeView1 的根节点中。 Nodes.Remove(TreeNode node)方法:从控件中移除一个根节点。该方法的参数 是被移除的节点实例。 Nodes.RemoveAt(int Index)方法:从控件中移除一个根节点。该方法的参数是被 移除的节点的索引号。 Nodes.Insert(int Index,TreeNode node

41、)方法:向 TreeView 控件中插入一个根节点。 第一个参数是插入后的节点索引号,第二个参数是被插入的节点实例。 Nodes.Clear()方法:清除 TreeView 控件中的所有根节点。当所有的根节点被清 除后,其子节点自然不存在了。 Nodes.Count 属性:节点集合中的根节点数。 调用以上的方法和使用以上的属性,可以对 TreeView 控件的根节点进行操作。 自定义方法 StructRootNode()中从数据库读取数据来构造根节点是一个应用的例 子。由于各个应用系统对节点的数据和结构在数据库中记录的方法和格式不同, 构造 TreeView 控件的程序代码是不同的,但基本原理

42、是相同的。 2)编写程序代码构造树型控件的子节点 TreeView 控件的节点树是一个层次结构,每一个节点都有一个 Nodes 集合,该 集合包含了本节点的所有直接下级子节点。每个 Nodes 都带有上述的 Add、Remove、RemoveAt、Insert、Clear 等方法和 Count 属性,使用每个节点 的 Nodes 集合的方法和属性,就可以构造各个节点的子节点来。例如: treeView1.Nodes0.Nodes.Add(new TreeNode(湘潭,0,1); 向树型控件的第一个根节点添加一个子节点,该节点的文本为“湘潭”,未选中 时的图标为控件 imageList1 的第

43、一幅图片,选中后的图标为控件 imageList1 的 第二幅图片。 3)TreeView_BeforeExpand 事件 利用 TreeView 控件的 BeforeExpand 事件来构造 TreeView 控件的子节点是一个 不错的设计。该事件在 TreeView 控件的节点即将展开之前引发,编程的基本原 理是当某个节点即将展开时构造该节点的子节点,那些不必展开的节点不需要 构造它的子节点。事件处理程序的参数 e 带入了被展开节点的信息,获取 e.Node.Text 属性、e.Node.Index 属性和 e.Node.Tag 属性的值,可以判别被展开 的是哪个节点。 e.Node.Te

44、xt 属性 被展开节点的文本。 e.Node.Index 属性 被展开节点的索引号。 e.Node.Tag 属性 被展开节点的标记。 4)TreeView_AfterSelect 事件 当在树型控件上选择了某个节点后,将引发 TreeView_AfterSelect 事件。 15 与 TreeView_BeforeExpand 事件处理程序类似,TreeView_AfterSelect 事件处 理程序的参数 e 将带入被选中的节点的数据,e.Node.Text 属性、e.Node.Index 属性和 e.Node.Tag 属性的值常被用来作为判别被选中的是哪个节点的编程依据。 3.ListVi

45、ew 控件 ListView 称为列表视图控件,它以带图标的列表方式显示项目供用户选择。视图 形式可有小图标、大图标、列表和详细信息等四种。 1)Items 属性 Items 属性是列表视图控件的项目集合。ListView 控件的 Items 集合带有一系 列的方法,调用这些方法可以构造出控件的 Items 集合,这些方法是: Items.Add(ListViewItem item)方法 向 Items 集合中添加一个项目。参数 item 是一个 ListViewItem 的实例。 Items.Insert(int index,string text,int imageIndex)方法 向 I

46、tems 集合中插入一个 项目,参数 index 是插入项的索引号,text 是插入项的文本,imageIndex 是该 项的图片在 ImageList 控件中的序号。 Items.Remove(ListViewItem item)方法 从 Items 集合中移除一个项目。参数 item 是一个 ListViewItem 的实例。 Items.RemoveAt(int index)方法 从 Items 集合中移除一个项目。参数 index 是 被移除项的索引号。 Items.Clear()方法 清除 Items 集合中的所有项目。 Items.Count 属性 Items 集合中的项数。 2)

47、View 属性 View 属性设置控件视图列表的显示形式。可设置为 SmallIcon、LargeIcon、List 和 Details 之一,将分别以小图标、大图标、列表和 详细信息方式显示。 3)LargeImageList 属性 LargeImageList 属性设置控件的大图标来源。该属性值要设置到预先编辑好的 一个 ImageList。 4)SmallImageList 属性 SmallImageList 属性设置控件的小图标来源。该属性值要设置到预先编辑好的 另一个 ImageList。 5)MultiSelect 属性 MultiSelect 属性设置控件是否可以多项选择,默认值

48、为 true。若只允许单项选 择,将该属性设置为 false。 6)判别用户在 ListView 控件上的选择 当用户在 ListView 控件上选择项目后,程序代码需要对选择作出响应。编写 响应代码需要解决两个问题:代码段编写在哪个事件处理程序中。用户选 择了哪些项。 将响应代码编写在 ListView 控件的 Click 事件中是合适的,当用户在控件内单 击时,必定选择了某些项。因为只有用户在控件的项目上单击时才会引发 Click 事件,在控件的空白处单击时不会引发该事件。 ListView 控件的所有选择项的索引号保存在一个集合 SelectedIndices 中,遍历 这个集合的所有元

49、素,可以取得每个选择项的索引号。特别地,当控件被设置 16 为单选模式时(即 MultiSelect 属性设置为 false 时) ,每次选择后这个集合中都 只有一项,被选择项的索引号就是 SelectedIndices0的值。 4.文件夹浏览器的设计步骤 创建 Windows 应用程序项目,项目名称为“文件夹浏览器实例”。 向默认窗体中添加 1 个 TreeView 控件,控件名称为 FolderTree。 向窗体中添加 1 个 ListView 控件,控件名称为 ListView1,Columns 属性中文件 名占宽度 width 为 200,创建时间占宽度 width 为 150。 向窗

50、体中添加 1 个 ImageList 控件,控件名称为 imageList1,向该控件加入 4 个 16*16 的图标文件,FolderTree 的 ImageList 属性为 imageList1。 5.文件夹浏览器的主要程序代码 引入命名空间: using System.IO; private void FolderTree_AfterSelect(object sender, TreeViewEventArgs e) if(e.Node.Text.ToString()!=我的电脑) EnumDirectories(e.Node); listView1.Items.Clear(); /获取

51、指定目录下的所有文件 string files=Directory.GetFiles(e.Node.Tag.ToString() );/directory for(int i=0;i选择项(I) - 显示选择工具箱项 - COM 组件,确认组件 “Excel ,Microsoft.Office.Core”已被添加。 向窗体中添加 1 个 ListView 控件,控件名称为 ListView1,Column 属性打开集 合编辑器,添加 3 个列,Text 分别为姓名、专业、毕业院校,Width 分别为 60、100、150。 向窗体中添加 2 个 Button 控件,名称为 Button1 Bu

52、tton2,text 属性分别为填充 表格数据内容、保存为 EXCEL 文件格式。 向窗体中添加 1 个 saveFileDialog 控件,名称为 saveFileDialog1。 4.操作 EXCEL 文件实例的主要程序代码 填充表格数据内容 private void button1_Click(object sender, System.EventArgs e) int itemNumber=this.listView1.Items.Count; string subItem0=王斌,计算机科学技术,武汉大学; this.listView1.Items.Insert(itemNumber

53、, new ListViewItem(subItem0); string subItem1=汪兰,财会电算化管理,西南财经大学; this.listView1.Items.Insert(itemNumber, new ListViewItem(subItem1); string subItem2=汤波,计算机软件技术,上海交通大学; this.listView1.Items.Insert(itemNumber, new ListViewItem(subItem2); string subItem3=罗成,计算机管理,重庆大学; this.listView1.Items.Insert(itemN

54、umber, new ListViewItem(subItem3); string subItem4=汤小敏,环境保护,西南师范大学; this.listView1.Items.Insert(itemNumber, new ListViewItem(subItem4); 20 string subItem5=刘功得,轻工机械装备,重庆市轻工业学校; this.listView1.Items.Insert(itemNumber, new ListViewItem(subItem5); 保存为EXCEL文件 private void button2_Click(object sender, Sys

55、tem.EventArgs e) if(this.listView1.Items.Count0) MyRange =MyWorkSheet.get_Range(A2,Missing.Value); object , MyData = new Objectthis.listView1.Items.Count,3; foreach(ListViewItem lvi in this.listView1.Items) MyDatalvi.Index,0 = lvi.Text; MyDatalvi.Index,1 = lvi.SubItems1.Text; MyDatalvi.Index,2 = lvi

56、.SubItems2.Text; MyRange = MyRange.get_Resize(this.listView1.Items.Count,3); MyRange.Value2= MyData; MyRange.EntireColumn.AutoFit(); MyExcel= null; catch(Exception Err) 21 MessageBox.Show(调用EXCEL程序时出现错误!+Err.Message,信息提示 ,MessageBoxButtons.OK,MessageBoxIcon.Information); 四、编写实验报告四、编写实验报告 22 实训三实训三 图

57、形图像的应用图形图像的应用 一、实验目的及要求一、实验目的及要求 熟悉 C#.NET 中 GDI+的强大图形图像操作的功能。 二、实验设备和仪器二、实验设备和仪器 装有 Windows 操作系统的计算机 三、实验原理及步骤三、实验原理及步骤 练习练习 1、动画设计、动画设计-跳舞的小女孩实例跳舞的小女孩实例 (一)实训目标 1.掌握动画制作的的设计过程 2.掌握控件 PictureBox、Timer 和 StatusBar 的属性、方法和事件 3.完成动画设计实例的程序编写 (二)实训内容 1.动画设计的功能及用户界面 用户在窗体中单击加速,使是小女孩跳舞的速度加快;单击减速,使小女孩跳舞 的

58、速度减慢,并在状态栏中显示提示的文字。程序运行后的用户界面如下图。 2.StatusBar 控件 打开控件 statusBar1 的属性窗口,单击属性窗口中 Panels 属性后的浏览按钮,启 动 StatusBarPanel 集合编辑器,在 StatusBarPanel 集合编辑器中编辑面板中的窗格即 可。 状态栏的 ShowPanels 属性用来设置是否显示状态栏的面板。属性值为 bool 类型, 默认值为 false。语法格式为: 控件名.ShowPanels=true(或 false); 例如: statusBar1.ShowPanels=true; 使状态栏 statusBar1 显

59、示面板。注意这个属性的默认值为 false,默认状态下是不 显示面板的。通常需要将这个属性值修改为 true。 可以将窗体的状态或提示信息输出在状态栏的窗格文本中。这时只要修改状态栏 面板的文本 Text 属性即可。例如: 23 statusBarPanel1.Text=就绪; 当该语句被执行后,在状态栏的第一个窗格中显示“就绪”二字。 3.动画制作的设计步骤 创建 Windows 应用程序项目,项目名称为“动画设计实例”。 向默认窗体中添加 1 个 PictureBox 控件,控件名称为 PictureBox1。 向窗体中添加 1 个 Timer 控件,名称为 timer,其属性 interval 设为 600。 向窗体中添加 1 个 StatusBar 控件,名称为 StatusBar1。 4.动画设计的主要程序代码 添加窗体变量: private int PicNo; private Bitmap bitmap; public Form1() / Windows 窗体设计器支持所必需的 InitializeComponent(); timer1.Interval=600; timer1.Enabled=true; statusBar1.Text=; bitmap=new Bitmap5; PicNo=0; for (int i=1;i=5;i+) string

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论