《C#程序设计及基于工作过程的项目开发》课件第4章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《C#程序设计及基于工作过程的项目开发》课件第4章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C#程序设计及基于工作过程的项目开发 C# 程序设计 基于 工作 过程 项目 开发 课件
- 资源描述:
-
1、项目一项目一 我的我的SDI记事本记事本.1 任务一:任务一:“我的我的SDI记事本记事本”主窗体设计主窗体设计.2 任务二:任务二:“我的我的SDI记事本记事本”功能实现功能实现.3 任务三:任务三:“我的我的SDI记事本记事本”的修饰一的修饰一关于窗体关于窗体.4 任务四:任务四:“我的我的SDI记事本记事本”的修饰二的修饰二欢迎窗体欢迎窗体.5 项目案例项目案例 .1 任务一:任务一:“我的我的SDI记事本记事本”主窗体设主窗体设计计.1.1 功能描述功能描述在本例中将通过使用工具箱中菜单、对话框等控件,实现“我的SDI记事本”的窗体设计,如图.1所示。图.1.1.2 设计步骤及要点解析
2、设计步骤及要点解析(1)打开Microsoft Visual Studio 2005,单击“创建:项目”,项目类型选择Visual C#,模板选择Windows应用程序,项目名称输入MyNotepad,位置根据自己需要选择设定,单击“确定”按钮。(2)单击Form1,在资源管理器中将Form1.cs改为NotepadForm.cs,在属性窗口中修改Text属性为“我的SDI记事本”,StartPosition属性为CenterScreen。(3)在工具箱中将MenuStrip控件拖放到该窗体,在属性窗口中修改Name属性为msNotepad,之后输入各级菜单,并且修改各自的Name和Text属
3、性,如表.1所示。自动换行 tsmiWordWrap 自动换行 格式 tsmiFormat 格式 字体 tsmiFont 字体 查看 tsmiCheck 查看 状态栏 tsmiStatusBar 状态栏 true 帮助 tsmiHelp 关于 tsmiAbout 关于 (4)添加statusStrip控件,在属性窗口中修改Name属性为ssNotPad,三次单击statusStrip控件左端出现的下拉式箭头,均选择StatusLabel,将出现toolStripStatusLabel1,在属性窗口中将三个toolStripStatusLabel1的Name属性分别修改为slblXY、slblS
4、pring和slblTime,其中将slblSpring的Spring属性修改为true。(5)添加TextBox控件,在属性窗口中修改Name属性为txtEdit,Dock属性为Fill,Text属性为空。要点解析:步骤(2)窗体的StartPosition属性设置为CenterScreen,其目的是使得窗体运行后能显示在屏幕的中间位置。步骤(3)各控件的命名是根据.net 2005控件命名规范命名的,如表.2所示。步骤(4)statusStrip控件toolStripStatusLabel的Spring属性决定 ToolStripStatusLabel 控件是否自动填充StatusStri
5、p控件中的可用空间。步骤(5)Dock属性为Fill,其目的是使得程序运行后文本框控件TextBox能充满窗体Form的菜单栏和状态栏余下的部分。.1.3 知识库知识库1.窗体窗体(Form)控件控件窗体是应用程序的基本单元,可以是标准窗口、多文档界面窗口或者对话框等。Form控件的常见属性如表.3所示。表?.3 Form 控件的常见属性 属 性 说 明 Name 控件名称 Text 标题 FormBorderStyle 设置窗体的外观和行为 AutoScroll 当控件的内容大于窗体的范围时,是否自动显示滚动条 IsMdiContainer 确定该控件是否是 MDI 容器 MaximizeB
6、ox 是否在窗体上显示最大化按钮 MinimizeBox 是否在窗体上显示最小化按钮 Icon 窗体图标 showInTaskbar 窗体是否显示在 Windows 任务栏中 AcceptButton 设置某个按钮当按下 Enter 键时等于单击了这个按钮 CancelButton 设置某个按钮当按下 Esc 键时等于单击了这个按钮 3.主菜单主菜单(MenuStrip)控件控件MenuStrip 控件主要用于生成所在窗体的主菜单。在设计窗体中添加该控件后,会在窗体上显示一个菜单栏,可以直接在此菜单栏上编辑各主菜单项及对应的子菜单项,也可以通过鼠标右键单击对应的菜单项修改项的类型。当菜单的结构
7、建立起后,再为每个菜单项编写事件代码,即可完成窗体的菜单设计。编辑各菜单项内容时,可以用符号“&”指定该菜单项的组合键,让其后的字母带下划线显示,如编辑菜单项“E&xit”,则会显示为“Exit”,意思是可以直接用“Alt+X”组合键实现与单击该菜单项相同的功能;用符号“-”可以在菜单中显示各项之间的分隔条。该控件的常见属性如表.5所示。表?.5 MenuStrip 控件的常见属性 属 性 说 明 Name 控件名称 Items 控件上所有的子项的集合 Text 标题 ContexMenuStrip 右击控件时显示快捷菜单 BackColor 设置背景色 Font 可改变控件字体的格式样式 E
8、nabled 控件可用不可用 Visible 是否显示控件 MenuStrip控件的常见事件有以下几种:Click事件:单击菜单项时触发的操作。DropDownClosed事件:关闭菜单项的子菜单时触发的操作。DropDownItemClicked事件:单击菜单项的子菜单中任何一项时触发的操作。DropDownOpened事件:菜单项的子菜单打开之后触发的操作。DropDownOpening事件:打开菜单项的子菜单时触发的操作。4.状态栏状态栏(statusStrip)控件控件statusStrip控件可以在窗体底部使用有框架的区域显示正在操作当前Windows窗体的用户的相关信息或当前系统的
9、一些信息。该控件的常见属性如表.6所示。表?.6 statusStrip 控件的常见属性 属 性 说 明 BackgroundImage 用于控件背景图像 Items 控件上所有子项的集合 Text 标题 ContexMenuStrip 右击控件时显示快捷菜单 Anchor 定义控件在窗体改变大小时,根据设置控件绑定到窗体边缘 Dock 定义要绑定到容器的控件边框 .2 任务二:任务二:“我的我的SDI记事本记事本”功能实现功能实现.2.1 功能描述功能描述用代码实现用代码实现“我的我的SDI记事本记事本”主窗体的主要功能。主窗体的主要功能。.2.2 设计步骤及要点解析设计步骤及要点解析(1)
10、导入名称空间。1 using System.IO;(2)双击“新建”菜单项,进入“新建”菜单的单击事件。2 private void tsmiNew _ Click(object sender,EventArgs e)3 4 if(txtEdit.Modified&txtEdit.Text!=)5 6 DialogResult result=MessageBox.Show(文件+Text+内容已经改变。nn您是否要保存文件?,记事本,MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);7 if(string.Equals(result,
11、DialogResult.Yes)8 9 SaveFileDialog save=new SaveFileDialog();10 save.Filter=文本文件|*.text;*.txt;11 if(save.ShowDialog()=DialogResult.OK)12 13 SaveInfo(save.FileName);14 txtEdit.Text=;15 this.Text=无标题-记事本;16 17 18 else if(string.Equals(result,DialogResult.Cancel)19 20 21 else if(string.Equals(result,D
12、ialogResult.No)22 23 txtEdit.Text=;24 this.Text=无标题-记事本;25 26 27 代码分析:4 如果当前记事本编辑窗口内容有改动并且编辑窗口不为空,则提示用户是否保存。7 单击弹出判断文本框,单击确认后才执行代码。9 创建保存对话框对象。10 设置保存的格式。11 打开保存对话框,并判断是否按下确定保存的按钮。13 调用自定义的保存方法,保存指定文件名和路径的文件。14 清空编辑框。15 设定当前记事本的标题栏信息为“无标题-记事本”。18 当用户按下取消按钮后不做任何操作。21 判断用户是否按下不保存按钮。(3)自定义打开的方法。28 priv
13、ate string savePath=;29 public void LoadInfo(string path)30 31 string filePath=path;32 savePath=filePath;33 StreamReader fm=new StreamReader(filePath,System.Text.Encoding.Default);34 this.Text=Path.GetFileName(filePath);35 txtEdit.Text=fm.ReadToEnd();36 fm.Close();37 代码分析:28 自定义全局变量,获取保存文件的路径。29 自定义
14、返回值为空的载入文件的方法,方法名为LoadInfo。有形式参数一个,用于获取文本文件的路径。33 创建读文本流对象,此时若导入第1行名称空间则无法创建。34 设定当前记事本标题栏显示所打开文件的文件名。35 读取文件流数据到记事本编辑框中。36 释放文件流。(4)双击“打开”菜单项,进入“打开”菜单项的单击事件。38 private void tsmiOpen _Click(object sender,EventArgs e)39 40 OpenFileDialog open=new OpenFileDialog();41 open.Filter=文本文件|*.text;*.txt;42 i
15、f(open.ShowDialog()=DialogResult.OK)43 44 LoadInfo(open.FileName);45 46 代码分析:40 创建打开文件对话框对象。41 设置打开文件的格式。42 打开文件对话框并判断是否按下确定键。44 调用自定义的载入文件方法LoadInfo,打开对话框中选定的文件内容。(5)自定义保存的方法。47 public void SaveInfo(string pat)48 49 string filePath=Path.GetFullPath(pat);50 savePath=filePath;51 StreamWriter sw=new S
16、treamWriter(filePath,false,Encoding.Default);52 this.Text=Path.GetFileName(filePath);53 sw.Write(txtEdit.Text);54 sw.Close();55 56 public void Save2Info()57 58 StreamWriter sw=new StreamWriter(savePath,false,Encoding.Default);59 sw.Write(txtEdit.Text);60 sw.Close();61 代码分析:47 自定义另存为的方法,返回值为空,带一个stri
17、ng类型的形式参数。49 获取保存文件的路径全称。51 创建写文件流对象。52 设置记事本标题栏信息为当前打开文本文件名。53 调用文件流的Write方法,将编辑框中的文本信息写入指定的文件流中。54 是否写入文件流对象。56 自定义直接保存方法,返回值为空,参数表为空。59 保存文件。60 释放资源(6)双击“保存”菜单项,进入“保存”菜单项的单击事件。62 private void tsmiSave _Click(object sender,EventArgs e)63 64 SaveFileDialog save=new SaveFileDialog();65 if(string.Equ
18、als(this.Text,无标题-记事本)66 67 save.Filter=文本文件|*.text;*.txt;68 if(save.ShowDialog()=DialogResult.OK)69 70 SaveInfo(save.FileName);71 72 73 else74 75 Save2Info();76 77 代码分析:64 创建保存文件对话框对象。65 判断是新建记事本还是打开以前的记事本。67 设置保存的文件格式。70 调用自定义方法SaveInfo。75 调用自定义方法Save2Info。(7)双击“另存为”菜单项,进入“另存为”菜单项的单击事件。78 private
19、void tsmiSaveA _Click(object sender,EventArgs e)79 80 SaveFileDialog save=new SaveFileDialog();81 save.Filter=文本文件|*.text;*.txt;82 if(save.ShowDialog()=DialogResult.OK)83 84 SaveInfo(save.FileName);85 86 代码分析:80 创建保存对话框。81 设置保存的文件格式。82 显示保存对话框,并判断是否按下确定按钮。84 调用自定义方法SaveInfo,其中保存对话框的文件路径名为实参。(8)双击“退出
20、”菜单项,进入“退出”菜单项的单击事件。87 private void tsmiExit _Click(object sender,EventArgs e)88 89 if(txtEdit.Modified&txtEdit.Text!=)90 91 DialogResult result=MessageBox.Show(文件+Text+内容已经改变。nn您是否要保存文件?,记事本,MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);92 if(string.Equals(result,DialogResult.Yes)93 94 Sav
21、eFileDialog save=new SaveFileDialog();95 save.Filter=文本文件|*.text;*.txt;96 if(save.ShowDialog()=DialogResult.OK)97 98 SaveInfo(save.FileName);99 Application.Exit();100 101 102 103 else if(string.Equals(result,DialogResult.Cancel)104 105 106 107 else if(string.Equals(result,DialogResult.No)108 109 App
22、lication.Exit();110 111 112 else113 114 Application.Exit();115 116 代码分析:91 在退出记事本时,如果当前记事本内容有改动,就询问用户是否保存。94 创建保存对话框。95 设置保存的格式。96 显示保存对话框,并选择保存的文件路径和名称。98 调用自定义的SaveInfo方法。105此时用户不做任何操作。109整个应用程序退出。114整个应用程序退出。(9)单击“字体”菜单项,进入“字体”单击事件。117 private void TlSMItemFont_Click(object sender,EventArgs e)118
23、 119 FontDialog font=new FontDialog();120 if(font.ShowDialog()=DialogResult.OK)121 122 this.txtEdit.Font=font.Font;123 124 代码分析:119 创建字体对话框对象。122 将字体对话框中选中的字体格式赋给文本框中文字的字体。(10)单击“颜色”菜单项,编写“颜色”单击事件。125 private void TlSMItemColor_Click(object sender,EventArgs e)126 127 ColorDialog fontcolor=new ColorD
24、ialog();128 if(fontcolor.ShowDialog()=DialogResult.OK)129 130 this.txtEdit.ForeColor=fontcolor.Color;131 132 代码分析:127 创建颜色对话框对象。130 将颜色对话框中选中的颜色设置为文本框中文字的颜色。(11)单击“撤销”菜单项,编写“撤销”单击事件。133 txtEdit.Undo()(12)单击“复制”菜单项,编写“复制”单击事件。134 txtEdit.Copy()(13)单击“剪切”菜单项,编写“剪切”单击事件。135 txtEdit.Cut()(14)单击“全选”菜单项,编
展开阅读全文