C课程设计说明书记事本_第1页
C课程设计说明书记事本_第2页
C课程设计说明书记事本_第3页
C课程设计说明书记事本_第4页
C课程设计说明书记事本_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、目录一、课程设计的目的与要求2二、题目说明22.1程序开发景.32.2开发工绍.3三、总体设计4四、详细说明44.1 系统实施.4五、遇到的问题和解决法.13六、课程设计总结.14七、参考文献.14一、课程设计的目的与要求 目的: 1、熟悉.net开发环境,能够使用c#语言在.net平台上独立设计、开发windows应用程序。 2、掌握c#语言的异常处理技术,能够使用.net各种调试方法调试代码,掌握帮助的使用方法。 3、掌握常用控件以及控件的常用属性的使用方法。 要求: 1、程序中应有不少于100300行的自行编写的代码,代码需书写详细注释。 2、软件界面美观大方,操作简洁易用,功能完备可靠

2、。 3. 通过c#课程设计,使学生能将学到的面向对象的程序设计思想用到具体的工作和学习中,加深对类和对象的理解,要求学生能够对现实生活中许多具体事物抽象出类,并掌握继承与派生,基类、虚方法和抽象方法和多态性的概念。二、题目说明 创建支持多文档的记事本,每个子窗口都应包含一个richtextbox。mdi父窗口具有“格式”菜单,用于子菜单控制活动子窗口中文本的大小、字体和颜色。每个子菜单至少含有三个选项极其快捷键。另外,父菜单还含有“文件”菜单,菜单项有“新建”(创建新的子窗口)、“关闭”(关闭活动子窗体)和“退出”(退出应用程序)。父窗口还有“窗口”菜单显示一系列打开的子窗口及其布局选项。参考

3、界面如:图1主要实现界面2.1程序开发背景 为了满足用户对于记事本的一些基础需求,主要包括“打开”记事本,“新建”、“字体编辑”及保存等功能,所以在老师与自己查阅书籍的情况下,选择编写记事本这一题目。2.2开发工具介绍c#(读做 "c sharp",中文译音暂时没有.专业人士一般读"c sharp",现在很多非专业一般读"c井"。 c#是微软公司发布的一种面向对象的、运行于.net framework之上的高级程序设计语言。并定于在微软职业开发者论坛(pdc)上登台亮相。c#是微软公司研究员anders hejlsberg的最新成果。

4、c#看起来与java有着惊人的相似;它包括了诸如单一继承、接口、与java几乎同样的语法和编译成中间代码再运行的过程。 但是c#与java有着明显的不同,它借鉴了delphi的一个特点,与com(组件对象模型)是直接集成的,而且它是微软公司.net windows网络框架的主角。三、总体设计总体设计思路主要是为了实现用户打开记事本时,通过新建新的文本文档,来记事。用户可以执行的操作有,录入文本后,对文本的字体、颜色、格式等进行编辑,同时还可以进行撤消、剪切、粘贴、全选等操作,是用户方便使用。待文字及其格式做好后,用户可以保存,或者另存为到自己想要的位置。此外还可以进行页面设置与打印等功能,方便

5、用户打印急需的文件。四、详细说明用户可以在记事本里通过新建、编辑、保存等功能实现正常记事本的功能。还可以通过格式里面的字体、颜色等来编辑文字。同时编辑里面的撤销、剪切、粘贴等功能也从不同层面上满足用户的一定需求。通过程序所要实现的功能可以看出,该程序中有文件、格式等主要对象,所以我们可以通过定义生成子窗体、字体窗体、颜色窗体等来实现记事本文字的编辑部分,还要定义类,完成窗体间的转换。4.1 系统实施1、文件->新建功能简介:通过点击文件下的新建功能,可以弹出多个文本框,方便用实现记事功能。界面截图如下:图2新建实现效果 关键代码如下:/通过“新建”菜单项添加子窗口 private voi

6、d 新建toolstripmenuitem_click(object sender, eventargs e) /创建子窗体 记事本 f = new 记事本(); f.mdiparent = this; count+; f.text = "新建文本" + count; f.show(); 2、文件->另存为 功能简介:通过点击文件下的另存为功能,可以弹出窗口,给出用户可以保存文件的位置,方便用户实现保存文本不丢失的功能。 界面截图如下:图3另存为实现效果关键代码如下: private void 另存为toolstripmenuitem_click(object sen

7、der, eventargs e) /实现另存为功能 this.savefiledialog1.filter = "txt files(*.txt)|*.txt|rdf files(*.rdf)|*.rdf|all files(*.*)|*.*" this.savefiledialog1.filterindex = 1; if (this.savefiledialog1.showdialog() = dialogresult.ok) filename = this.savefiledialog1.filename; try richtextbox1.loadfile(fil

8、ename,richtextboxstreamtype.plaintext); catch if (filename != "") richtextbox1.savefile(filename,richtextboxstreamtype.plaintext); 3、文件->页面设置 功能简介:在新建文本后,通过点击文件下的页面设置功能,会弹出页面设置对话框,方便用户对文本对话框的设置。 界面截图如下:图4页面设置实现效果 关键代码如下: private void 页面设置toolstripmenuitem_click(object sender, eventargs

9、e) /创建页面设置对话框 pagesetupdialog my = new pagesetupdialog(); my.document = printdocument1; try my.showdialog(); catch 4、文件->打印 功能简介:在输入文字后,通过点击文件下的打印功能,会弹出一个对话框,提醒用户选择打印的相关属性。 界面截图如下:图5 文件打印功能关键代码如下:private void 打印ptoolstripmenuitem_click(object sender, eventargs e) /创建打印对话框 printdialog p = new prin

10、tdialog(); p.document = printdocument1; if (p.showdialog() = dialogresult.ok) try printdocument1.print(); catch 5、文件->退出功能简介:在用户输入文字途中,若要退出当前窗口,可以点击文件下的退出功能,会弹出一个提示框,提醒用户是否确认退出并保存文档。 界面截图如下:图6退出功能 关键代码如下:private void 退出toolstripmenuitem_click(object sender, eventargs e) if (messagebox.show("

11、你确认要退出吗?", "提示", messageboxbuttons.yesno, messageboxicon.question) =dialogresult.yes) this.close(); 6、编辑 功能简介:在用户输入文字时,若有出错或要重复等内容,可以通过编辑来实现。编辑主要有撤消、剪切、复制、删除、全选等功能。界面截图如下:图7编辑所含功能关键代码如下: private void 撤消toolstripmenuitem_click(object sender, eventargs e) /实现撤消功能 if (this.richtextbox1.c

12、anundo = true) this.richtextbox1.undo(); this.richtextbox1.clearundo(); private void 剪切toolstripmenuitem_click(object sender, eventargs e) /实现剪切功能 int curposition = richtextbox1.selectionstart; clipboard.setdataobject(richtextbox1.selectedtext); richtextbox1.text = richtextbox1.text.substring(0, cur

13、position)+ richtextbox1.text.substring(curposition+richtextbox1.selectedtext.length); richtextbox1.selectionstart = curposition; private void 复制toolstripmenuitem_click(object sender, eventargs e) /实现复制功能 clipboard.setdataobject(richtextbox1.selectedtext); private void 粘贴toolstripmenuitem_click(objec

14、t sender, eventargs e) /实现粘贴功能 idataobject idata = clipboard.getdataobject(); if (idata.getdatapresent(dataformats.text) string clipboardstr = (string)idata.getdata(dataformats.text); int curposition = richtextbox1.selectionstart; richtextbox1.text = richtextbox1.text.substring(0, curposition) + cli

15、pboardstr + richtextbox1.text.substring(curposition); richtextbox1.selectionstart = curposition + clipboardstr.length; private void 删除toolstripmenuitem_click(object sender, eventargs e) /实现删除功能 int curposition = richtextbox1.selectionstart;待添加的隐藏文字内容1 clipboard.setdataobject(richtextbox1.selectedtex

16、t); richtextbox1.text = richtextbox1.text.substring(0, curposition) + richtextbox1.text.substring(curposition + richtextbox1.selectedtext.length); / richtextbox1.selectionstart = curposition; private void 全选atoolstripmenuitem_click(object sender, eventargs e) /全选文本内容 this.richtextbox1.selectall(); 7

17、、格式 功能简介:在用户输入文字时,若想对内容进行编辑,可以通过格式菜单来实现。格式菜单主要有自动换行、字体、颜色等功能,用户可以有选择的使用。界面截图如下:图8编辑字体实现效果 关键代码如下: private void 字体toolstripmenuitem_click(object sender, eventargs e) /创建字体对话框 fontdialog1.showdialog(); richtextbox1.selectionfont = fontdialog1.font; 图9编辑颜色实现效果 关键代码如下: private void 颜色ytoolstripmenuitem_

18、click(object sender, eventargs e) /创建颜色对话框 colordialog1.showdialog(); richtextbox1.selectioncolor = colordialog1.color; 以上就是该记事本运行可以实现的功能的大部分介绍,希望用户可以方便简单的运用起来。五、遇到的问题和解决方法 1、使子文档出现在mdi程序窗体中时,出现this.name=”form1”与this.text=”mdi程序”的异常,经过仔细检查,原来是先前对代码含义理解有误,应在addnewfile()方法中创建子窗体的实例f,而我们误创建为父窗体的实例,故出错,正确的写法是:form2 f=new form();这样才能与后面的f.mdiparent=this相匹配。 2、在运行过程中,会随机地出现未处理的“system.nullreferenceexception”类型的异常出现在未知模块中及信息,未将对象引用设置到对象的实例,或出现未处理的“system.argumentexception”类型的异常出现在system.windows.forms.dll 中。”这样的两个异常错误,点击中断后则会出现提示“没有可用的当前代码

温馨提示

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

评论

0/150

提交评论