您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页.NET课设报告

.NET课设报告

来源:爱go旅游网


吉林工程技术师范学院

信息工程学院

《 .net程序设计基础 》

课程设计报告

题 目: 记事本 专 业: 软件工程 班 级: 姓 名: 学 号: 指导教师:

时 间: 2014年4月21日

摘 要

Microsoft .NET Framework 2.0 彻底地改进了 ASP.NET。ASP.NET 开始成为增强的 Web 应用技术。开发者能够发现,实现 Web 站点和页面所需要的代码量越来越少了,从而体验到前所未有过的轻松。同时,开发者也可以将自定义特征添加到 ASP.NET 中,以适应自己的需求。

在新的ASP.NET特点中,ASP.NET 同时为 Web 站点开发者和管理员提供更加易用的管理特征。配置文件包含更丰富的配置元素集合,让站点开发者能够对未来特征和控件升级进行控制。新的配置 API 使得配置信息具有可编程性。新的工具为应用程序的配置提供 GUI 接口,Web Site Administration Tool 是基于 Web 接口的实用工具,让开发者对站点的本地管理和远程管理变得更容易。还有一种 ASP.NET 专用的 MMC 插件可以让管理员使用基于 Windows 服务器的标准工具来管理复杂的配置方案集。

ASP.NET 新增加了代码分离模型,但仍支持较早版本中的单文件模型,新的代码分离模型允许开发者根据需要创建文件,并使用 .NET Framework 中的新特征和特殊对象(如事件处理等等)。最终产生完全与页面标记完全分离开的代码文件,即健壮的页面代码管理模型。

为了满足用户对于记事本的一些基础需求,主要包括“打开”记事本, “新建”、“字体编辑”及保存等功能,所以在老师与自己查阅书籍的情况下,选择编写记事本这一题目。

关键词: 可视化编成、记事本、.NET、连接数据库

I

目录

一、课程设计的目的 .................................... 1 二、系统需求 .......................................... 2 三、系统设计 .......................................... 3 3.1 设计规则 ....................................... 3 3.2 设计说明 ....................................... 3 3.3 界面设计 ....................................... 4 3.4 属性设计 ....................................... 5 四、系统实现 .......................................... 8 五、 系统测试 ........................................ 10 六、课设总结与体会 ................................... 13 参考文献 ............................................. 14 附录 .................................................. I

一、课程设计的目的

根据程序设计的步骤和规范,完成各阶段的设计内容,设计所选择的题目,对具体功能进行详细的分析,根据程序的要求设计窗体界面,使其合理化,使用.NET语言对应用程序进行设计。

用户可以在记事本里通过新建、编辑、保存等功能实现正常记事本的功能。还可以通过格式里面的字体、颜色等来编辑文字。同时编辑里面的撤销、剪切、粘贴等功能也从不同层面上满足用户的一定需求。

通过程序所要实现的功能可以看出,该程序中有文件、格式等主要对象,所以我们可以通过定义生成子窗体、字体窗体、颜色窗体等来实现记事本文字的编辑部分,还要定义类,完成窗体间的转换。

后台以SQL数据库支持,前台以Visual Studio 2005为开发环境,实现仓库信息管理的相应操作。系统的设计与实现应采用MVC分层模式。系统界面采用MDI方式,即用户登录后进入主窗体,主窗体通过菜单进入子窗体。

1

二、系统需求

这个程序定义了一个public类,此类继承了windowadapter,并有两个接口Actionlistener,Itemlistener,在public类中,定义了框架,文本区等内容,并为上述内容添加了时间监听程序,当该事件被触发时,可使用Menulistener接口中的方法或ActionListener接口中的actionPerformed()方法来处理。

1. 让记事本自动记录上次打开的时间 :在记事本的第一行写上“.LOG”(不包括引号并且为大写字母,注意前面有个点),这样今后打开记事本文件就知道上次最后的打开时间了。

2. 让记事本自动换行 :每次打开记事本文件总是显示一行长长的文本,阅读起来一点不方便,其实只要选择菜单栏上的“格式”,然后将“自动换行”勾选上,这样文本就会根据记事本窗口大小自动换行了。

3. 利用记事本浏览网页特效 :做网页的朋友一定会经常测试一些网页特效,反正做博客我就是经常测试一些好玩的代码,每次打开一些网页编辑器或者软件实在麻烦(速度实在是慢!),其实利用记事本就可以轻松完成,而且记事本的速度可是超快。 方法:将想要测试的网页代码粘贴到记事本,选择“文件”--“另存为”,文件名选择英文或者英文+数字的形式,后缀为.html,比如haha.html,然后打开IE浏览器选择“文件”--“打开”,找到刚才的haha.html文件并且打开,这样就可以在浏览器中预览网页效果了。

4.利用记事本过滤非文本信息 :记事本只能记录纯文本,利用这点我们可以将网上复制来的东西(可能包括文本,图片,表格等等)中的非文本信息滤除掉,而使用Word会发现什么表格,人工分行符,段落格式标记等等一系列的琐碎问题非常多,手工删除又特别麻烦。如果只是想复制文本,那么可以先将网页中的内容复制到记事本中以过滤图片等多余信息,然后再从记事本将文本复制到WORD做进一步的编辑,这样就可以获得真正纯净的纯文本了。

5.批处理 :这应该是记事本最常用的方式了,批量处理自然能省去好多宝贵的时间以及烦琐的过程。就比如复制文件,从E盘上复制1G的电影到D盘,为这我亲自测试过了,如果还是在E盘和D盘之间使用“复制-粘贴”等老掉牙的方式,需要3分30秒,而如果利用记事本,在记事本中编辑:“ copy e:\\电影 d:”然后另存为诸如copy.bat的文件形式,只要后缀名为.bat就可以了。

2

三、系统设计

3.1 设计规则

点击“文件”; 点击“新建”,新建一个记事本; 点击“打开”,打开已有文件; 点击“保存”或“另存为”,对用户信息进行保存; 点击“退出”,退出记事本对话框; 点击“编辑”; 点击“查找”,输入查找内容进行查找; 点击“退出”,退出记事本对话框; 点击“帮助”,弹出帮助对话框。用户在文本区内,依次输入文本内容,输入若干行信息后,可对文件进行保存,或另存为功能,点击编辑,可以实现查找退出功能,点击帮助,弹出部分帮助信息 3.2 设计说明

这个程序定义了一个public类Qhn,此类继承了windowadapter,并有两个接口Actionlistener,Itemlistener,在public类中,定义了框架,文本区等内容,并为上述内容添加了时间监听程序,当该事件被触发时,可使用Menulistener接口中的方法或ActionListener接口中的actionPerformed()方法来处理。

1. 让记事本自动记录上次打开的时间 :在记事本的第一行写上“.LOG”(不包括引号并且为大写字母,注意前面有个点),这样今后打开记事本文件就知道上次最后的打开时间了。

2. 让记事本自动换行 :每次打开记事本文件总是显示一行长长的文本,阅读起来一点不方便,其实只要选择菜单栏上的“格式”,然后将“自动换行”勾选上,这样文本就会根据记事本窗口大小自动换行了。

3. 利用记事本浏览网页特效 :做网页的朋友一定会经常测试一些网页特效,反正做博客我就是经常测试一些好玩的代码,每次打开一些网页编辑器或者软件实在麻烦(速度实在是慢!),其实利用记事本就可以轻松完成,而且记事本的速度可是超快。 方法:将想要测试的网页代码粘贴到记事本,

3

选择“文件”--“另存为”,文件名选择英文或者英文+数字的形式,后缀为.html,比如haha.html,然后打开IE浏览器选择“文件”--“打开”,找到刚才的haha.html文件并且打开,这样就可以在浏览器中预览网页效果了。

4.利用记事本过滤非文本信息 :记事本只能记录纯文本,利用这点我们可以将网上复制来的东西(可能包括文本,图片,表格等等)中的非文本信息滤除掉,而使用Word会发现什么表格,人工分行符,段落格式标记等等一系列的琐碎问题非常多,手工删除又特别麻烦。如果只是想复制文本,那么可以先将网页中的内容复制到记事本中以过滤图片等多余信息,然后再从记事本将文本复制到WORD做进一步的编辑,这样就可以获得真正纯净的纯文本了。

5.批处理 :这应该是记事本最常用的方式了,批量处理自然能省去好多宝贵的时间以及烦琐的过程。就比如复制文件,从E盘上复制1G的电影到D盘,为这我亲自测试过了,如果还是在E盘和D盘之间使用“复制-粘贴”等老掉牙的方式,需要3分30秒,而如果利用记事本,在记事本中编辑:“ copy e:\\电影 d:”然后另存为诸如copy.bat的文件形式,只要后缀名为.bat就可以了,然后运行该文件进行批处理,复制相同的1G电影需时只要1分20秒,节约了大半时间,由此可见其效率之高。

3.3 界面设计

Windows的记事本是一个非常简单的文本编辑器,用来编辑小型的文本格式文件,即.txt类型的文件。主要模块菜单栏中又包括三个小模块,分别为:文件,编辑,格式。

4

图2.1 界面设计

3.4 属性设计

表2.1控件属性

属性名 Text Modifiers Text Modifiers Text Modifiers Text Dock Modifiers

对象名 Form Rote Menuitemfile Menuitemedit Menuitemformat Textboxedit 5

设置值 用 ChengKing Private 私有 文件(&F) Private 私有 编辑(&E) Private 私有 格式(&O) Fill 置 Private 对象作文本 可见性文本 可见性文本 可见性文本 停靠位可见性

私有 Backcolor Scrollbarls Text Accepts tab Multiline Wordwrap Modifiers Shortcut Text Modifiers Shortcut Text Modifiers Shortcut Text Modifiers Shortcut Text Modifiers

Menuitemnew Menuitemopen Menuitemsave Menuitemsaveas Menuitempagese6

192,192,255 Both 动条 Hello checging True True 行 Flase Private 私有 Ctrln 式 新建(&N) Private 私有 Ctrlo 式 打开(O)... Private 私有 Ctrls 式 保存(&S) Private 私有 Ctrla 式 另存为(A)... Private 颜色 显示滚文本 允许输入制表符 跨越多不可自动换行 可见性快捷方文本 可见性快捷方文本 可见性快捷方文本 可见性快捷方文本 可见性

t Text Modifiers Shortcut Text Modifiers Text Modifiers Shortcut Text

Menuitemprint Menuitemexit Menuitemundo 页面设置(U)... Private 私有 文本 可见性私有 Ctrip 式 打印(&P) Private 私有 退出(&X) Private 私有 Ctrlz 式 撤消(&U) 文本 快捷方文本 可见性文本 可见性快捷方

7

四、系统实现

程序运行后,记事本界面如下图所示:

图4.1记事本界面

图4.2字体界面

8

图4.3打印界面

图4.4 背景颜色

9

五、系统测试

测试能够发现程序中的错误。一旦测试过程中产生的结果与所期望的结果不同,就可以了解到程序中存在错误。确定并纠正程序错误的过程被称为调试(debug)。所谓程序测试是指在目标计算机上利用输入数据, 也称之为测试数据( test data)来实际运行该程序, 把程序的实际行为与所期望的行为进行比较。 如果两种行为不同,就可判定程序中有问题存在。我负责的几个模块如下:

1.菜单栏的文件选项打开:

private string GetOpenFile() {

OpenFileDialog openFile=new OpenFileDialog(); openFile.Title=\"打开文本文件\"; openFile.CheckFileExists=true; openFile.CheckPathExists=true; openFile.AddExtension=true; openFile.Multiselect=false; {

menuItemCopy.Enabled=true; menuItemCut.Enabled=true; menuItemDel.Enabled=true; }

openFile.Filter=\"文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*\"; if(openFile.ShowDialog()==DialogResult.OK) {

return openFile.FileName; }

10

else { return null; } }

2.菜单栏的文件选项打印:

private void menuItemPrint_Click(object sender, System.EventArgs e) {

PrintDialog printDialog=new PrintDialog(); printDialog.Document=printDocument; {

if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)) }

if(printDialog.ShowDialog()==DialogResult.OK) { try {

printDocument.Print(); }

catch(Exception e2) {

MessageBox.Show(e2.Message); } }

3.菜单栏的格式选项字体:

private void menuItemFont_Click(object sender, System.EventArgs e) {

FontDialog fontDialog=new FontDialog(); fontDialog.ShowColor=true;

11

fontDialog.AllowScriptChange=true; fontDialog.AllowVectorFonts=true; fontDialog.ShowEffects=true;

if(fontDialog.ShowDialog()==DialogResult.OK) {

textBoxEdit.Font=fontDialog.Font; textBoxEdit.ForeColor=fontDialog.Color; } }

12

六、课设总结与体会

通过这两个星期课设实训,提高对知识的理解和应用能力,并且使我对Visual Studio.NET2003系统有了更深一步的了解,让我养成了我遇到问题能及时处理的能力,也为以后学习积累了更多的经验。我感觉都是需要在摸索中前进的,也许对于某些成功的人来说这些算不了什么大事,但是在我们学生眼中它不单纯是一个简单的课程设的分数,更重要的是我们今后走向社会的法宝。

在本次实验中,把曾经认为难的不能再难的东西也一点点变成自己的东西,理解、掌握。在这个过程中,我又学得到很多在书本上学不到的东西,才发现自己学习到的书本上的知识只是一些皮毛的知识,同时我也在筛选资料的过程中更细致的了解了有关内容。意识到真正需要学习的还有很多。发现这些问题的主要原因就是在网上查找资料时,我们可以看到的相关网页真的是很多,但是自己能看的懂的也就是其中几个网页中的一两段话而已。并且真正能够为己所用的又是少之甚少。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做C#程序,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。记事本现在一般特指windows操作系统附带的一个简单的文本编辑,浏览软件。该记事本的特点是打开速度快,文件小。增强记事本是在Windows记事本的基础上添加一些别的功能,从而能对文本文件进行更多方式的编辑。现在人们在处理一些较小的纯文本文件的时候一般不想使用Word这样大型的编辑工具,然后有这样一个增强记事本是很有帮助的。首先我决定用Visual Studio.NET2003作为设计工具,通过借阅相关资料,学习Visual C# .NET语言,然后进行具体的编辑。

在本次课中,我们不仅仅对C#的了解加深了,而且通过实验体现了同学之间互帮互助的精神。也加强了我们的实际操作能力和编程的思维能力,让自己在这个过程中受益匪浅。感谢老师给我们这个机会来找出自己在以前学习中的不足,今后我一定会努力改正自己的不足之处,用这门学科开发出更加完善的应用系统来方便人们的需求。

13

参考文献

[1]Viscal C#基础.辽宁教育出版社.王 晶

[2]Viscal C# 处理基础设计与实现.电子工业出版社.章冰冰 [3]Viscal C# 2003学习教程.北京大学出版社.黄飞

[4]Viscal Sstdio.2003 标准教程.北京希望电子出版社.易 护 [5] Visual C#.NET程序设计.北方交通大学出版社.李兰友 [6]C#语言程序设计教程.北京:中国水利水电出版社. 陈培

14

附录

System.Windows.Forms.ScrollBars.Both; [STAThread] static void Main() {

Application.Run(new FormMain()); }

private void FormMain_Load(object sender, System.EventArgs e) {

private void textBoxEdit_TextChanged(object sender, System.EventArgs e) {

needToSave=true; }

private void menuItem5_Click(object sender, System.EventArgs e) {

if(needToSave==true) {

DialogResult result=MessageBox.Show(\"文本内容已经改变,需要保存吗?\保存文件\

if(result==DialogResult.Cancel) { return; }

if(result==DialogResult.Yes) {

menuItemSave_Click(sender,e); needToSave=false;

I

} }

string file=GetOpenFile(); if(file==null) { return; } else

currentFileName=file; OpenFile(); } }

private void OpenFile() { try {

FileInfo f=new FileInfo(currentFileName); StreamReader reader=f.OpenText(); textBoxEdit.Text=reader.ReadToEnd(); reader.Close();

this.Text=\"文本编辑--\"+f.Name; }

catch(Exception e) {

MessageBox.Show(e.Message); } }

private string GetOpenFile() {

II

OpenFileDialog openFile=new OpenFileDialog(); openFile.Title=\"打开文本文件\"; openFile.CheckFileExists=true; openFile.CheckPathExists=true; openFile.AddExtension=true; openFile.Multiselect=false;

openFile.Filter=\"文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*\"; if(openFile.ShowDialog()==DialogResult.OK) {

return openFile.FileName; } else { return null; } }

private void menuItemExit_Click(object sender, System.EventArgs e) {

this.Close(); }

private void menuItemUndo_Click(object sender, System.EventArgs e) {

if(textBoxEdit.CanUndo==true) {

textBoxEdit.Undo(); textBoxEdit.ClearUndo(); } }

private void menuItemCut_Click(object sender, System.EventArgs e)

III

{

if(textBoxEdit.SelectedText!=\"\") {

textBoxEdit.Cut(); } } }

private void menuItemEdit_Popup(object sender, System.EventArgs e) {

if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)) {

menuItemPaste.Enabled=true; } else {

menuItemPaste.Enabled=false; }

if(textBoxEdit.SelectionLength>0) {

menuItemCopy.Enabled=true; menuItemCut.Enabled=true; menuItemDel.Enabled=true; } else {

menuItemCopy.Enabled=false; menuItemCut.Enabled=false; menuItemDel.Enabled=false; }

IV

if(textBoxEdit.CanUndo==true) {

menuItemUndo.Enabled=true; } else {

menuItemUndo.Enabled=false; }

V

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务