多文档文本编辑器.docx
《多文档文本编辑器.docx》由会员分享,可在线阅读,更多相关《多文档文本编辑器.docx(13页珍藏版)》请在冰点文库上搜索。
多文档文本编辑器
可视化程序设计-多文档文本编辑器
设计报告
学号:
000000000000
姓名:
XXXX
学院:
XXXXX
层次:
XXXX
一、设计分析.3.
二、开发平台、工具3.
三、程序结构及设计3.
3.1文件模块:
3.
3.2编辑模块:
4.
3.3格式模块:
4.
3.4查看模块:
4.
3.5帮助模块:
4.
四、源程序代码说明6.
4.1界面设计.6..
4.2.具体功能的实现6.
五、操作方法流程及程序试验结果9
5.1.程序启动界面:
9.
5.2.新建多个文本文件9.
5.3文档编辑页面1.0
5.4.保存界面10
5.5打开文档11
5.6退出文档11
5.7字体大小设置界面12
5.8字体颜色设置界面12
六、设计体会13
编写一个多文档的文本编辑器,具备以下功能:
(1)具备一般文本编辑器的基本功能:
新建、保存、打开、另存为和退出;
(2)能够同时打开多个文本文件进行编辑;
(3)能够对所编辑的文件进行保存,保存类型为txt;
(4)能够打开计算机上面已经存在的文本文件,并进行编辑;
(5)编辑:
(复制、剪切、粘贴、全选);
(6)格式:
(自动换行、字体、颜色),格式的设置功能要区分是设置当前块的格式还是设置所有内容的格式;
(7)界面设计时应有工具栏,弹出菜单,状态栏等功能来提高操作的便利性;
在.NETFrameWork3.0下采用V.net2010旗舰版工具;
使用C#语言。
三、程序结构及设计
应用程序提供五大模块基本功能:
3.1文件模块:
该模块提供以下功能:
(1)新建:
创建新的文本文件。
(2)打开:
打开指定路径的文件。
(3)保存:
保存当前文本文件。
(4)另存为:
指定路径保存文本文件。
(5)历史记录:
浏览文本文件的历史记录。
(6)保存到数据库:
把当前文本文件保存到数据库,包括文件名,文件路径,以及文件内容
(7)页面设置:
设置页面格式。
(8)打印:
打印当前文件。
(9)退出:
退出程序。
3.2编辑模块:
该模块提供以下功能:
(1)撤销:
撤销上一次执行的操作。
(2)剪接:
把内容剪接到系统粘贴板,再把系统粘贴板的内容剪接到指定位置。
(3)复制:
把内容复制到系统粘贴板。
(4)粘贴:
把系统粘贴板粘贴到指定位置。
(5)删除:
删除选定内容。
(6)查找:
提供查找指定字符串。
(7)替换:
可以替换指定字符或者字符串。
(8)全选:
选择全部内容。
(9)时间日期:
提供当前系统的时间和日期。
3.3格式模块:
(1)自动换行:
可以使文本自动换行。
(2)字体大小:
可以改变字体格式。
(3)字体颜色:
可以改变字体颜色。
3.4查看模块:
提供状态栏用以显示当前状态。
3.5帮助模块:
提供帮助信息以及软件的信息。
F面是模块框架图:
打开软件
-•时间日期
*查找
—►替换
四、源程序代码说明
实现的关键逻辑和关键代码说明:
4.1界面设计
创建一个MDI窗口,设置为子窗口,用于文本的输入;把主窗口改为MDI容器,向其中加入一些功能控件,例如:
openFileDialog,SaveFileDialog,
menuStrips,fontDialog.colorDialog等等。
代码实现:
doc=newDocForm();
doc.MdiParent=this;
doc.Show();
4.2.具体功能的实现
(1)打开文件:
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
RichTextBoxStreamTypefileType=
TrunFileType(openFileDialog1.FilterIndex);
wCount++;
doc=newDocForm(fileType,openFileDialog1.FileName,
openFileDialog1.FilterIndex);
doc.MdiParent=this;
doc.Show();
listDocForm.Add(doc);
}
(2)保存文件
if(sfd.ShowDialog()==DialogResult.OK)
{
RichTextBoxStreamTypefileType=TrunFileType(sfd.Filterlndex);doc.SetFileTypeIndex(sfd.FilterIndex);
doc.SetFilePath(saveFileDialog1.lnitialDirectory);
df.Sourse.SaveFile(sfd.FileName,fileType);
df.SetFilePath(sfd.FileName);
oldFileType=fileType;
}
(3)另存为
tssl_FormCount.Text=string.Format("请选择保存路径");
DocFormdf=(DocForm)this.ActiveMdiChild;
try
{
SaveFile(df);
filePath=df.GetFilePath();
//SaveDateToDateBase(df);
MessageBox.Show(保存成功","温馨提示");
}
catch(Exceptionex)
{
return;
}
tssl_FormCount.Text=string.Format("{0}保存成功",doc.Text);
(4)查找实现
if(doc.Sourse.Text.Contains(strOld))
{
Clipboard.Clear();
count=doc.Sourse.Find(strOld,index,RichTextBoxFinds.None);
doc.Sourse.Select(count,str.Length);
Clipboard.SetText(doc.Sourse.SelectedText.Replace(strOld,strNew));
doc.Sourse.Paste();
count++;
(5)替换实现:
if(doc.Sourse.Text.Contains(str))
{index=doc.Sourse.Find(str,index,RichTextBoxFinds.None);doc.Sourse.Select(index,str.Length);
index++}。
(6)新建功能
wCount++;
doc=newDocForm();
listDocForm.Add(doc);
doc.MdiParent=this;
doc.Text="文档"+wCount;
doc.Show();
if(wCount==1)
{
doc.WindowState=FormWindowState.Maximized;
}
tssl_FormCount.Text=string.Format("成功创建第{0}个文件.,当前文件名为:
{1}",this.MdiChildren.Length,doc.Text);
(6)其他功能的实现(代码太多,不列举)
五、操作方法流程及程序试验结果
5.1.程序启动界面:
52新建多个文本文件
选择文件-新建,即可建立多个文本文档
5.3文档编辑页面
文件新建完成后,即可对文件进行编辑,在文件编辑页面,可以对文件的字
体大小、颜色等进行设置,如下图所示:
-如辑-申]
-亡
吋立埠幅(叮宿工(O)至苣W)MAG(H)
-SX
编写一个多文档的文木编辑器,員备以下功飽
(1)具备一般文亦编辑器的基本功能」新建、探存、打开、另存为和退出匚
<2)能够何时打开多个文本文件进行编辑;
⑶能够对所编辑的文件进行保存,保存类型为E;
(4)能够打幵计算机上面已经牡的袁本文件,并进皆编辑;
⑸编揖:
(复制、翦如粘贴、全选八
(6)堵式:
〈总誌轴、字懐、颤色),格式的设港劝能赛区分是童冒当廝壊蜩式还杲童宣所有肉容的格我:
(7)界面设卄时应有工員栏.鲜岀苹草.状态栏等攻能乘揑高操作的便刘性;
5.4.保存界面
文件编辑完成后,点击文件-保存/文件-另存为,即可对文件进行保存,如下图所示:
¥
左吉口牛ir.t>i]
HJKO)
刘牛呂㈣;
5.5打开文档
点击文件-打开,即可打开打开文档页面,如下图所示:
5.6退出文档
点击文件-退出,即可退出程序
5.7字体大小设置界面
字偉
字形on:
大小⑸:
小五瞩走
常规
四号
小五
5?
琵
<1^
徽软中文软件
中3TGB2312
5.8字体颜色设置界面
六、设计体会
由于之前很少接触Dialog之类的控件,很多属性方法都不知道,所以本次程序设计时遇到了很多困难,很多都是来源于这些控件方法的调用问题。
由于平时对这些控件以及一些属性方法使用都比较少,导致了在编写程序中很多本来很简单的问题都被我复杂化了,然后尝试了很多模式,看书研究它的属性使用,用很多方法去测试他的结果,不同的使用方法等,最后基本上掌握了这些文本控件类的使用,然后把设计的功能实现了。
不过其中遇到很多Bug,不知道怎么解决,然后问同学,上网找解决办法,虽然过程很痛苦,不过最后还是解决了。
编写的程序虽然不是那么的专业化,但是完成了整个程序,实现了设计要求的所有功能。
虽然做这个应用程序花费了我很多时间和精力,不过还是很好地完成了整个程序。
平时都是用系统自带的记事本编辑文本文件,现在用着自己编写的文本编辑器,还是蛮有成就感的。