C#NET程序设计 课程设计报告.docx
《C#NET程序设计 课程设计报告.docx》由会员分享,可在线阅读,更多相关《C#NET程序设计 课程设计报告.docx(16页珍藏版)》请在冰豆网上搜索。
C#NET程序设计课程设计报告
辽宁工业大学
C#.NET程序设计课程设计报告
题目:
记事本
院(系):
软件学院
专业班级:
电子商务092班
学号:
091401055
学生姓名:
李婷婷
指导教师:
胡峰
教师职称:
助教
起止时间:
2010.12.20至2010.12.31
课程设计任务及评语
院(系):
软件学院教研室:
软件教研室
学号
091401055
学生姓名
李婷婷
专业班级
电子商务092班
课程设计题目
记事本
课程设计任务
1.要求根据程序设计的步骤和规范,完成各阶段的设计内容。
2.设计所选择的题目,对具体功能进行详细的分析,根据程序的要求设计窗体界面,使其合理化。
3.使用c#语言对应用程序进行设计。
课程设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出课程设计报告。
指导教师评语及成绩
成绩:
指导教师签字:
2011年1月3日
目录
第1章课程设计目的与要求1
1.1课程设计目的1
1.2课程设计环境1
1.3主要参考资料1
1.4课程设计内容及要求1
第2章课程设设计内容2
2.1游戏介绍2
2.1.1游戏规则2
2.1.2游戏说明2
2.2游戏设计3
2.2.1界面设计3
2.2.2属性设置4
2.2.3编程思路及代码5
2.3游戏实现9
2.3.1程序调试及测试9
2.3.2游戏运行11
第3章课程设计总结13
参考文献14
第1章课程设计目的与要求
1.1课程设计目的
1.要求根据程序设计的步骤和规范,完成各阶段的设计内容。
2.设计所选择的题目,对具体功能进行详细的分析,根据程序的要求设计窗体界面,使其合理化。
3.使用c#语言对应用程序进行设计。
1.2课程设计环境
硬件要求能运行Windows9.8XP以上操作系统的微机系统。
软件:
VisualS2003
1.3主要参考资料
c#.net应用程序开发书籍
1.4课程设计内容及要求
一、内容
1.要求根据程序设计的步骤和规范,完成各阶段的设计内容。
2.在access或sqlserver上实现设计的数据库模型。
3.使用c#语言对应用程序进行设计。
二、要求
课程设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出课程设计报告。
第2章课程设设计内容
2.1游戏介绍
2.1.1游戏规则
点击“文件”;点击“新建”,新建一个记事本;点击“打开”,打开已有文件;点击“保存”或“另存为”,对用户信息进行保存;点击“退出”,退出记事本对话框;点击“编辑”;点击“查找”,输入查找内容进行查找;点击“退出”,退出记事本对话框;点击“帮助”,弹出帮助对话框。
用户在文本区内,依次输入文本内容,输入若干行信息后,可对文件进行保存,或另存为功能,点击编辑,可以实现查找退出功能,点击帮助,弹出部分帮助信息
2.1.2游戏说明
这个程序定义了一个public类Qhn,此类继承了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秒,而如果利用记事本,在记事本中编辑:
“copye:
\电影d:
”然后另存为诸如copy.bat的文件形式,只要后缀名为.bat就可以了,然后运行该文件进行批处理,复制相同的1G电影需时只要1分20秒,节约了大半时间,由此可见其效率之高。
2.2游戏设计
2.2.1界面设计
Windows的记事本是一个非常简单的文本编辑器,用来编辑小型的文本格式文件,即.txt类型的文件。
主要模块菜单栏中又包括三个小模块,分别为:
文件,编辑,格式。
图2.1界面设计
2.2.2属性设置
表2.1控件属性
属性名
对象名
设置值
对象作用
Text
Form
ChengKingRote
文本
Modifiers
Menuitemfile
Private
可见性私有
Text
文件(&F)
文本
Modifiers
Menuitemedit
Private
可见性私有
Text
编辑(&E)
文本
Modifiers
Menuitemformat
Private
可见性私有
Text
格式(&O)
文本
Dock
Textboxedit
Fill
停靠位置
Modifiers
Private
可见性私有
Backcolor
192,192,255
颜色
Scrollbarls
Both
显示滚动条
Text
Hellochecging
文本
Acceptstab
True
允许输入制表符
Multiline
True
跨越多行
Wordwrap
Flase
不可自动换行
Modifiers
Menuitemnew
Private
可见性私有
Shortcut
Ctrln
快捷方式
Text
新建(&N)
文本
Modifiers
Menuitemopen
Private
可见性私有
Shortcut
Ctrlo
快捷方式
Text
打开(O)...
文本
Modifiers
Menuitemsave
Private
可见性私有
Shortcut
Ctrls
快捷方式
Text
保存(&S)
文本
Modifiers
Menuitemsaveas
Private
可见性私有
Shortcut
Ctrla
快捷方式
Text
另存为(A)...
文本
Modifiers
Menuitempageset
Private
可见性私有
Text
页面设置(U)...
文本
Modifiers
Menuitemprint
Private
可见性私有
Shortcut
Ctrip
快捷方式
Text
打印(&P)
文本
Modifiers
Menuitemexit
Private
可见性私有
Text
退出(&X)
文本
Modifiers
Menuitemundo
Private
可见性私有
Shortcut
Ctrlz
快捷方式
Text
撤消(&U)
文本
2.2.3编程思路及代码
主界面为记事本的显示界面,使用了Menuitemfile,MenuitemeditMenuitemformat三个控件,用来对文件进行编辑格式设计。
能够创建、编辑、打开、查看、打印、查找等操作的软件。
其中可以操作的文件有文本文件。
其中文本文件包括:
纯文本文件和其他编码的文本文件。
我们通常把它叫做文本文件编辑器程序。
当然它并不是全能的编辑器。
代码如下:
System.Windows.Forms.ScrollBars.Both;
[STAThread]
staticvoidMain()
{
Application.Run(newFormMain());
}
privatevoidFormMain_Load(objectsender,System.EventArgse)
{
privatevoidtextBoxEdit_TextChanged(objectsender,System.EventArgse)
{
needToSave=true;
}
privatevoidmenuItem5_Click(objectsender,System.EventArgse)
{
if(needToSave==true)
{
DialogResultresult=MessageBox.Show("文本内容已经改变,需要保存吗?
","保存文件",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);
if(result==DialogResult.Cancel)
{
return;
}
if(result==DialogResult.Yes)
{
menuItemSave_Click(sender,e);
needToSave=false;
}
}
stringfile=GetOpenFile();
if(file==null)
{
return;
}
else
currentFileName=file;
OpenFile();
}
}
privatevoidOpenFile()
{
try
{
FileInfof=newFileInfo(currentFileName);
StreamReaderreader=f.OpenText();
textBoxEdit.Text=reader.ReadToEnd();
reader.Close();
this.Text="文本编辑--"+f.Name;
}
catch(Exceptione)
{
MessageBox.Show(e.Message);
}
}
privatestringGetOpenFile()
{
OpenFileDialogopenFile=newOpenFileDialog();
openFile.Title="打开文本文件";
openFile.CheckFileExists=true;
openFile.CheckPathExists=true;
openFile.AddExtension=true;
openFile.Multiselect=false;
openFile.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
if(openFile.ShowDialog()==DialogResult.OK)
{
returnopenFile.FileName;
}
else
{
returnnull;
}
}
privatevoidmenuItemExit_Click(objectsender,System.EventArgse)
{
this.Close();
}
privatevoidmenuItemUndo_Click(objectsender,System.EventArgse)
{
if(textBoxEdit.CanUndo==true)
{
textBoxEdit.Undo();
textBoxEdit.ClearUndo();
}
}
privatevoidmenuItemCut_Click(objectsender,System.EventArgse)
{
if(textBoxEdit.SelectedText!
="")
{
textBoxEdit.Cut();
}
}
}
privatevoidmenuItemEdit_Popup(objectsender,System.EventArgse)
{
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;
}
if(textBoxEdit.CanUndo==true)
{
menuItemUndo.Enabled=true;
}
else
{
menuItemUndo.Enabled=false;
}
}
2.3游戏实现
2.3.1程序调试及测试
测试能够发现程序中的错误。
一旦测试过程中产生的结果与所期望的结果不同,就可以了解到程序中存在错误。
确定并纠正程序错误的过程被称为调试(debug)。
所谓程序测试是指在目标计算机上利用输入数据, 也称之为测试数据( test data)来实际运行该程序, 把程序的实际行为与所期望的行为进行比较。
如果两种行为不同,就可判定程序中有问题存在。
我负责的几个模块如下:
1.菜单栏的文件选项打开:
privatestringGetOpenFile()
{
OpenFileDialogopenFile=newOpenFileDialog();
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)
{
returnopenFile.FileName;
}
else
{
returnnull;
}
}
2.菜单栏的文件选项打印:
privatevoidmenuItemPrint_Click(objectsender,System.EventArgse)
{
PrintDialogprintDialog=newPrintDialog();
printDialog.Document=printDocument;
{
if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
}
if(printDialog.ShowDialog()==DialogResult.OK)
{
try
{
printDocument.Print();
}
catch(Exceptione2)
{
MessageBox.Show(e2.Message);
}
}
3.菜单栏的格式选项字体:
privatevoidmenuItemFont_Click(objectsender,System.EventArgse)
{
FontDialogfontDialog=newFontDialog();
fontDialog.ShowColor=true;
fontDialog.AllowScriptChange=true;
fontDialog.AllowVectorFonts=true;
fontDialog.ShowEffects=true;
if(fontDialog.ShowDialog()==DialogResult.OK)
{
textBoxEdit.Font=fontDialog.Font;
textBoxEdit.ForeColor=fontDialog.Color;
}
}
2.3.2游戏运行
程序运行后,记事本界面如下图所示:
图2.2记事本界面
图2.3字体界面
图2.4打印界面
图2.5背景颜色
第3章课程设计总结
通过这两个星期C#的课设实训,提高对知识的理解和应用能力,并且使我对VisualStudio.NET2003系统有了更深一步的了解,让我养成了我遇到问题能及时处理的能力,也为以后学习积累了更多的经验。
我感觉都是需要在摸索中前进的,也许对于某些成功的人来说这些算不了什么大事,但是在我们学生眼中它不单纯是一个简单的课程设的分数,更重要的是我们今后走向社会的法宝。
在本次实验中,把曾经认为难的不能再难的东西也一点点变成自己的东西,理解、掌握。
在这个过程中,我又学得到很多在书本上学不到的东西,才发现自己学习到的书本上的知识只是一些皮毛的知识,同时我也在筛选资料的过程中更细致的了解了有关内容。
意识到真正需要学习的还有很多。
发现这些问题的主要原因就是在网上查找资料时,我们可以看到的相关网页真的是很多,但是自己能看的懂的也就是其中几个网页中的一两段话而已。
并且真正能够为己所用的又是少之甚少。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做C#程序,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。
记事本现在一般特指windows操作系统附带的一个简单的文本编辑,浏览软件。
该记事本的特点是打开速度快,文件小。
增强记事本是在Windows记事本的基础上添加一些别的功能,从而能对文本文件进行更多方式的编辑。
现在人们在处理一些较小的纯文本文件的时候一般不想使用Word这样大型的编辑工具,然后有这样一个增强记事本是很有帮助的。
首先我决定用VisualStudio.NET2003作为设计工具,通过借阅相关资料,学习VisualC#.NET语言,然后进行具体的编辑。
Windows应用程序创建文件关联此步骤为"我的记事本"添加文件关联,以便双击.vbn文件时启动"我的记事本"应用程序。
设置部署项目的可选属性此步骤设置一个属性,以便在目标计算机上没有正确版本的Windows安装程序时,自动安装Windows安装引导程序文件。
在"我的记事本安装程序"属性页中,选择"引导程序"下拉列表,然后选择"Windows安装引导程序"。
在本次课中,我们不仅仅对C#的了解加深了,而且通过实验体现了同学之间互帮互助的精神。
也加强了我们的实际操作能力和编程的思维能力,让自己在这个过程中受益匪浅。
感谢老师给我们这个机会来找出自己在以前学习中的不足,今后我一定会努力改正自己的不足之处,用这门学科开发出更加完善的应用系统来方便人们的需求。
参考文献
1.ViscalC#基础.辽宁教育出版社.王晶
2.Acess数据库系统详解.西安出版社.周小明
3.ViscalC#处理基础设计与实现.电子工业出版社.章冰冰
4.ViscalC#2003学习教程.北京大学出版社.黄飞
5.新概念ViscalC#2003教程.北京海淀出版社.李亦雷
6.ViscalSstdio.2003标准教程.北京希望电子出版社.易护
7.ViscalC#2003教程.辽宁教育出版社.赵民
8.ViscalSstdio.2003经典案例.冶金工业出版.叶少宏
9.ViscalSstdio.2003系统教程.清化大学出版社.王嘉廉
10.VC系统概论.高等教育出版社.师非煊、郑珊
11.C#程序设计教程.电子工业出版社.王蓉
12.VisualC#.NET程序设计.北方交通大学出版社.李兰友
13.C#语言程序设计教程.北京:
中国水利水电出版社.陈培