(完整版)C#毕业课程设计说明书2

上传人:E**** 文档编号:73779032 上传时间:2022-04-12 格式:DOC 页数:30 大小:329.50KB
返回 下载 相关 举报
(完整版)C#毕业课程设计说明书2_第1页
第1页 / 共30页
(完整版)C#毕业课程设计说明书2_第2页
第2页 / 共30页
(完整版)C#毕业课程设计说明书2_第3页
第3页 / 共30页
点击查看更多>>
资源描述
课程设计说明书设计题目:记事本仿真程序设计指导教师:魏明军学院:信息工程学院学生姓名:赵芮学号:专业班级:12 计算机三班2013年 06月 16日成绩评定姓名:学号:班级:评分项目分数程序功能完善( 30 分)回答问题正确( 20 分)设计报告规范( 30 分)(结构完整,图表正确,文字通顺,版面工整)代码质量( 10 分)(类、方法及变量等的命名符合规范,主要方法及字段有注释,程序有适当缩进)平时表现( 10 分)(独立完成,态度认真)评定成绩目录一、系统概述及设计思想11 系统开发基本目标12 系统开发设计思想1二、关键技术11 C#基本技术12 Windows 窗体设计1三、系统功能设计21 主程序界面22 查找界面33 替换界面44 其它界面4四、各功能代码设计61 主窗体代码实现62 查找窗体代码实现113 替换窗体代码实现13五、使用说明151 “文件”菜单的使用152 “编辑”菜单的使用163 “格式”菜单的使用16六、设计体会16七、参考文献17一、系统开发目标及设计思想1系统开发基本目标该系统包括以下功能:(1) 文本文件的新建、打开、保存、另存、关闭、退出。(2) 编辑操作:复制、剪切、粘贴、撤销。(3) 环境的设置:改变字体、改变前景及背景颜色。(4) 软件的开发信息。如学生基本情况的输入。2系统开发设计思想(1) 采用学校现有的软件和硬件环境以及设计要求开发系统。(2) 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充,维护。(3) 程序设计符合面向对象的思想和原则。(4) 要有良好的程序风格(类、方法及变量等的命名要符合规范;类、方法及字段要有注释;程序有适当缩进)(5) 采用文件对数据进行存储。(6) 人机界面美观,操作方便、实用。二、关键技术1 C#基本技术( 1) )if.else.语句等的使用。(2)try、 catch 异常处理,如:在打开窗体代码用的异常处理。tryfileName = openFileDilog.FileName;this.Text = fileName + -记事本 ;myStream = newStreamReader(fileName,Encoding.GetEncoding(gb2312);RichTextBox.Text = myStream.ReadToEnd();myStream.Close();catch (Exception ex)MessageBox.Show(不能打开文件!错误: + ex.Message);(3) 各种运算的使用,如赋值运算和逻辑运算的使用。radioButton1.Checked = true(4) 类的继承的使用,如Form1、 Form2、 Form3 均继承于Form。(5) 方法和变量的定义和使用以及访问修饰符的使用,如要将 RichTextBox窗体的访问修饰符由private改为 public,以便于在在Form2 中的使用。2 Windows 窗体设计菜单是软件界面设计的一个重要组成方面。 它描述着一个软件的大致功能和风格。所以在程序设计中处理好、 设计好菜单, 对于一个软件开发是否成功有着比较重要的意义。VisualC#是 .Net框架中的一个重要组成部分,也是微软公司推出的下一代主流程序开发语言。它在设计、 开发程序界面的时候和以前的某些程序开发语言有所不同。 这一点也表现在其的菜单编程方面。面向菜单编程中遇到的主要的问题大致可以分为二种:添加菜单项、 删除菜单项。 当然在处理以上二类问题时候,还会遇到诸如: 如何添加菜单项所对应的事件,如何为菜单项添加快捷键等一些小的问题。此次开发过程中由于之使用了很简单的菜单,所以直接运用了C#工具箱中的MenuStrip进行设计。要正确处理窗体、控件、事件,并要注意窗体和控件的 Name和 Text 属性。三、系统功能设计1 主程序界面主窗体完成大部分的系统功能,包括文件的新建、打开、保存 等功能。设计如下:向主窗体中添加一个MenuStrip 控件、一个 RichTextBox控件、一个 StatusStrip控件,添加 MainMenu 的子菜单(“文件”菜单包括“新建” 、“打开”、“保存”、“另存为”、“关闭”、“退出”子菜单, “编辑”菜单包括“复制” 、“粘贴”、“剪切”、“查找”、“替换”、“全选”、“时间日期” 、“撤销”,“格式”包括“设置字体” 、“设置颜色” 、“自动换行”子菜单,其中“设置颜色“包括“前景颜色”和“背景颜色”,“查看”包括“状态栏” ,“帮助”包括“关于记事本”),并为各个子菜单添加相应代码。设置各个控件的属性如表1 所示,设置完毕后的主程序界面如图1 所示,记事本整体构架如图 2 所示。表 1控件对象属性设置值控件功能对象窗口标题栏的显式内Form1Text无标题 -记事本容属性列表menuStrip1(Name)MainMenu添加菜单richTextBox1(Name)RichTextBox用于写入文本statusStrip1用于统计当前文本字(Name)StripStatusLabel数图 1主界面显示2 查找界面查找窗体完成查找文本的功能。设计如下:向窗体中添加botton1、 botton2两个Botton按钮,一个CheckBox控件,radioBotton1 控件,一个、radioBotton2 两个 RadioBotton 控件,一个 Label 控件,一个 TextBox GroupBox 控件。设置各个控件的属性如表 2 所示,设置完毕后的主程序界面如图3 所示。表 2 控件对象属性列表对象属性设置值控件功能窗口标题栏的显式内Form2Text查找容botton1Text查找下一处按钮的显示内容botton2Text取消按钮的显示内容radioBotton1Text向下控件的显示内容radioBotton2Text向上控件的显示内容checkBox1Text区分大小写控件的显示内容label1Text查找内容:标签的显示内容groupBox1Text方向控件的显示内容3 替换界面替换窗体完成查找并替换文本的功能。设计如下:向窗体中添加botton1 、botton2 、 botton3 、 botton4四个 Botton按钮,一个CheckBox 控件, label1 、label2两个 Label控件,textBox1 、textBox2两个 TextBox控件。设置各个控件的属性如表3 所示,设置完毕后的主程序界面如图4 所示。表 2 控件对象属性列表对象属性设置值控件功能窗口标题栏的显式内Form3Text替换容botton1Text查找下一处按钮的显示内容botton2Text替换按钮的显示内容Botton3Text全部替换按钮的显示内容Botton4Text取消按钮的显示内容checkBox1Text区分大小写控件的显示内容label1Text查找内容:标签的显示内容label2Text替换为:标签的显示内容4 其他界面关于记事本界面和退出时提示是否保存界面分别如图5和图 6所示。图 5记事本开发信息图6提示四、各功能代码设计1 主窗体代码实现using System;using SystemponentModel;using System.Data;using System.Drawing;using System.Text;using System.IO;namespace NotePadpublic partial class Form1 : Formstring fileName; 文件名public Form1()InitializeComponent();private void Form1_SizeChanged(object sender, EventArgs e)private void FileNew_Click(object sender, EventArgs e) 新建窗体代码this.Text = 无标题 -记事本 ;RichTextBox.Text = ;fileName = ;private void FileOpen_Click(object sender, EventArgs e) 打开窗体代码StreamReader myStream = null;OpenFileDialog openFileDilog = new OpenFileDialog(); openFileDilog.Filter = text files(*.txt)|*.txt;if (openFileDilog.ShowDialog() = DialogResult.OK)tryfileName = openFileDilog.FileName;this.Text = fileName + - 记事本 ;myStream = newStreamReader(fileName,Encoding.GetEncoding (gb2312);RichTextBox.Text = myStream.ReadToEnd();myStream.Close();catch (Exception ex)MessageBox.Show(不能打开文件!错误: + ex.Message);private void FileSave_Click(object sender, EventArgs e) 保存窗体代码SaveFileDialog saveDig = new SaveFileDialog();saveDig.Filter = 文本文档 (*.txt)|*.txt;saveDig.FileName = *.txt;if (saveDig.ShowDialog() = DialogResult.OK)sw.Close();this.Text = saveDig.FileName;private void FileSaveAs_Click(object sender, EventArgs e) 另存为代码StreamWriter myStream;SaveFileDialog saveFileDilog = new SaveFileDialog(); saveFileDilog.Filter = text files(*.txt)|*.txt;if (saveFileDilog.ShowDialog() = DialogResult.OK)fileName = saveFileDilog.FileName;myStream = new StreamWriter(fileName);this.Text = fileName + - 记事本 ;myStream.Write(RichTextBox.Text);myStream.Close();private void FileClose_Click(object sender, EventArgs e) 关闭窗体代码if (RichTextBox.Text = )this.Close();elseDialogResult result;result = MessageBox.Show(是否将更改保存到“无标题”? , 提示 , MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);if (result = DialogResult.Yes)FileSaveAs_Click(sender, e); 保存现有信息。else if (result = DialogResult.No)this.Close();elseprivate void FileExit_Click(object sender, EventArgs e) 退出窗体代码if (RichTextBox.Text = )this.Close();elseDialogResult result;result = MessageBox.Show(是否将更改保存到“无标题”? , 提示 , MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);if (result = DialogResult.Yes)FileSaveAs_Click(sender, e); 保存现有信息。else if (result = DialogResult.No)this.Close();private void EditCopy_Click(object sender, EventArgs e) 复制窗体代码RichTextBox.Copy();private void FilePaste_Click(object sender, EventArgs e) 粘贴窗体代码RichTextBox.Paste();private void FileCut_Click(object sender, EventArgs e) 剪切窗体代码RichTextBox.Cut();private void SelectFont_Click(object sender, EventArgs e) 设置字体代码FontDialog dlg = new FontDialog();if (dlg.ShowDialog() = DialogResult.OK)RichTextBox.Font = dlg.Font;private void SelectForeColor_Click(object sender, EventArgs e) 前景颜色窗体代码ColorDialog dlg2 = new ColorDialog();if (dlg2.ShowDialog() = DialogResult.OK)RichTextBox.ForeColor = dlg2.Color;private void SelectBackColor_Click(object sender, EventArgs e) 背景颜色窗体代码ColorDialog dlg1 = new ColorDialog();if (dlg1.ShowDialog() = DialogResult.OK)RichTextBox.BackColor = dlg1.Color;private void About_Click(object sender, EventArgs e) 关于记事本代码MessageBox.Show( this , 文本编括辑器 + Environment .NewLine +12 计算机3班赵芮 +Environment .NewLine + 版本 1.0 , 文本 , MessageBoxButtons .OKCancel,MessageBoxIcon.Information);private void Form1_Load_1(object sender, EventArgs e)this.Text = 无标题 -记事本 ;fileName = ;private void Form1_SizeChanged_1(object sender, EventArgs e)private void RichTextBox_TextChanged_1(object sender, EventArgs e)当前字数 : +private void EditSeek_Click_1(object sender, EventArgs e) 查找窗体代码Form2 f = new Form2();f.Owner = this;f.Show();private void EditReplace_Click_1(object sender, EventArgs e) 替换代码Form3 fs = new Form3();fs.Owner = this;fs.Show();private void EditSelectAll_Click_1(object sender, EventArgs e) 全选代码private void EditDateAndTime_Click_1(object sender, EventArgs e)时间日期窗体代码RichTextBox.Text += 现在时间是private void EditBackOut_Click_1(object sender, EventArgs e) 撤销代码RichTextBox.Undo();private void WordWrap_Click_1(object sender, EventArgs e)if (WordWrap.Checked = false)WordWrap.Checked = true;RichTextBox.WordWrap = true;elseWordWrap.Checked = false;RichTextBox.WordWrap = false;private void StatusBar_Click_1(object sender, EventArgs e) 状态栏代码else2 “查找”窗体代码实现using System;using SystemponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;namespace NotePadpublic partial class Form2 : Formint flag;public Form2()InitializeComponent();private void Form2_Load(object sender, EventArgs e)private void button1_Click(object sender, EventArgs e) 查找下一处Form1 f1 = (Form1)this.Owner;if (radioButton1.Checked = true)Console.WriteLine(flag + *);Console.WriteLine(flag + *);MessageBox.Show(未查找到相关内容);flag = 0;else把查找到的内容选中,调用Select()方法f1.Activate();if (radioButton2.Checked = true)Console.WriteLine(flag + *);flag);Console.WriteLine(flag + *);MessageBox.Show(未查找到相关内容);flag = 0;else把查找到的内容选中,调用Select()方法f1.Activate();private void button2_Click(object sender, EventArgs e) 取消this.Close();private void Form2_Load_1(object sender, EventArgs e)private void textBox1_TextChanged(object sender, EventArgs e)3“替换”窗体代码实现using System;using SystemponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;namespace NotePadpublic partial class Form3 : Formpublic Form3()InitializeComponent();public int count = 0;public int a, b;private void button1_Click(object sender, EventArgs e) 查找下一处Form1 f1 = (Form1)this.Owner;if (a = 0)count = a + 1;elseMessageBox.Show(this.Owner, 找 不 到 +textBox1.Text+,记事本,MessageBoxButtons.OK,MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);private void button2_Click(object sender, EventArgs e) 替换Form1 f1 = (Form1)this.Owner;if (a = 0)elseMessageBox.Show(this.Owner, 找 不 到 +textBox1.Text+,记事本,MessageBoxButtons.OK,MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);private void button3_Click(object sender, EventArgs e) 全部替换Form1 f1 = (Form1)this.Owner;=private void button4_Click(object sender, EventArgs e) 取消this.Close();private void textBox1_TextChanged(object sender, EventArgs e)查找文本框if (textBox1.Text != null)button1.Enabled = true;button2.Enabled = true;button3.Enabled = true;private void Form3_Load(object sender, EventArgs e)五、使用说明1“文件”菜单的使用(1) 新建:单击“新建” ,就可以新建一个无标题记事本。(2) 打开:单击“打开” ,就可以打开一个格式为 txt 的文本文档。(3) 保存:单击“保存” ,就可以对新建的文本执行保存。(4) 另存为:单击“另存为” ,就可以对打开的文本执行另行保存。(5) 关闭:单击“关闭” ,就可以关闭当前文本。(6) 退出:单击“退出” ,就可以退出当前文本。2“编辑”菜单的使用(1) 复制:单击“复制” ,就可以对所选中的内容进行复制。(2) 粘贴:单击“粘贴” ,就可以对复制或剪切的内容进行粘贴。(3) 剪切:单击“剪切” ,就可以对所选中的内容进行剪切。(4) 查找:单击“查找” ,就可以打开查找窗体,输入所要查找的内容,点击“查找下一处”,完成查找。(5) 替换:单击“替换” ,就可以打开替换窗体,输入查找的内容和替换的内容,点击“全部替换” ,完成替换。(6) 全选:单击“全选” ,就可以将所有文本内容全部选中。(7) 时间日期:单击“时间日期” ,就可以显示当前时间。(8) 撤销:单击“撤销” , 就可以撤销上一步的操作。3“格式”菜单的使用(1) 设置字体:单击“设置字体” ,就可以打开字体窗体,设置字体,字形,颜色等。(2) 设置颜色:单击“设置颜色” ,就可以打开“前景颜色”和“背景颜色”,选择相应的颜色。(3) 自动换行:单击“自动换行” ,当文本满一行后光标会自动跳到下一行。六、设计体会通过此次课程设计, 使我更加扎实的掌握了有关 Windows 窗体程序方面的知识,在设计过程中虽然遇到了一些问题, 但经过一次又一次的思考, 一遍又一遍的检查终于找出了原因所在, 也暴露出了我在这方面知识的欠缺和经验不足。 实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。同时,我们也认识到了,学习是没有止境的,在此程序设计过程中,我总是被一些小的, 细的问题挡住前进的步伐, 而且总是花很长的时间去解决它, 最终通过网络和查阅相关书籍找出解决的方法。更重要的是, 在实验课上, 我们学会了很多学习的方法。 而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。通过这次课程设计实验过程, 我也认识到了今后应该注意的问题和需要改进的方面:(1) 多看资料书,试着从易到难,从小到大的尝试。(2) 思路很重要, 不能够盲目, 首先要确定一条主线, 在此基础上增加分支。(3) 在平时学习的过程中,一定要多动手,多实践。(4) 独立思考很重要,但同学的团队精神也不可缺少。七、参考文献1 郑宇军 C#面向对象程序设计 M北京:人民邮电出版社, 2009.6 2 Karli Watson Christian Nagel等 C#入门经典(第三版) M北京:清华大学出版社, 20053里伯提 .Programming C#中文版(第四版) M北京:电子工业出版社,2000
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿件


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!