可视化程序设计-多文档文本编辑器设计报告学号: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.05.4.保存界面 (10)5.5打开文档 (11)5.6退出文档 (11)5.7字体大小设置界面 (12)5.8字体颜色设置界面 (12)六、设计体会 (13)设计分析编写一个多文档的文本编辑器,具备以下功能:(1)具备一般文本编辑器的基本功能:新建、保存、打开、另存为和退出;(2)能够同时打开多个文本文件进行编辑;(3)能够对所编辑的文件进行保存,保存类型为txt ;(4)能够打开计算机上面已经存在的文本文件,并进行编辑;(5)编辑:(复制、剪切、粘贴、全选);(6)格式:(自动换行、字体、颜色),格式的设置功能要区分是设置当前块的格式还是设置所有内容的格式;(7)界面设计时应有工具栏,弹出菜单,状态栏等功能来提高操作的便利性;开发平台、工具在.NET FrameWork 3.0下采用 2010旗舰版工具;使用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 = new DocForm();doc.MdiPare nt = this;doc.Show();4.2.具体功能的实现(1)打开文件:if (ope nFileDialog1.ShowDialog() == DialogResult.OK){RichTextBoxStreamType fileType = TrunF ileType(ope nF ileDialog1.FilterI ndex);wCo un t++;doc = new DocForm(fileType, ope nF ileDialog1.FileName, ope nF ileDialog1.FilterI ndex);doc.MdiPare nt = this;doc.Show();listDocForm.Add(doc);}(2)保存文件if (sfd.ShowDialog() == DialogResult.OK){RichTextBoxStreamType fileType = Trun FileType(sfd.Filterl ndex);doc.SetFileTypeI ndex(sfd.FilterI ndex);doc.SetFilePath(saveFileDialog1.l ni tialDirectory);df.Sourse.SaveFile(sfd.FileName, fileType);df.SetFilePath(sfd.FileName);oldFileType = fileType;}(3)另存为tssl_FormCount.Text = string.Format("请选择保存路径");DocForm df = (DocForm)this.ActiveMdiChild;try{SaveFile(df);filePath = df.GetFilePath();//SaveDateToDateBase(df);MessageBox.Show(保存成功","温馨提示");}catch (Excepti on ex){return;}tssl_FormCount.Text = string.Format("{0}保存成功", doc.Text);(4)查找实现if (doc.Sourse.Text.C on tai ns(strOld)){Clipboard.Clear();count = doc.Sourse.Fi nd(strOld, i ndex, RichTextBoxF in ds.N on e);doc.Sourse.Select(count, str.Length);Clipboard.SetText(doc.Sourse.SelectedText.Replace(strOld, strNew));doc.Sourse.Paste();coun t++;(5)替换实现:if (doc.Sourse.Text.C on tai ns(str)){index = doc.Sourse.Find(str, index, RichTextBoxFinds.None);doc.Sourse.Select(index, str.Length);index++}。
(6)新建功能wCo un t++;doc = new DocForm();listDocForm.Add(doc);doc.MdiPare nt = this;doc.Text ="文档"+ wCount;doc.Show();if (wCou nt == 1){doc.Wi ndowState = FormWin dowState.Maximized;}tssl_FormCount.Text = string.Format("成功创建第{0}个文件.,当前文件名为:{1} ", this.MdiChildre n.Le ngth,doc.Text);(6)其他功能的实现(代码太多,不----- 列举)五、操作方法流程及程序试验结果5.1.程序启动界面:52新建多个文本文件选择文件-新建,即可建立多个文本文档5.3文档编辑页面文件新建完成后,即可对文件进行编辑,在文件编辑页面,可以对文件的字 体大小、颜色等进行设置,如下图所示:-如辑-申]- 亡吋立埠幅(叮 宿工(O ) 至苣W ) MAG (H )-S X编写一个多文档的文木编辑器,員备以下功飽(1) 具备一般文亦编辑器的基本功能」新建、探存、打开、另存为和退出匚 <2) 能够何时打开多个文本文件进行编辑; ⑶能够对所编辑的文件进行保存,保存类型为E ;(4) 能够打幵计算机上面已经牡的袁本文件,并进皆编辑; ⑸ 编揖:(复制、翦如粘贴、全选八(6) 堵式:〈总誌轴、字懐、颤色),格式的设港劝能赛区分是童冒当廝壊蜩 式还杲童宣所有肉容的格我:(7) 界面设卄时应有工員栏.鲜岀苹草.状态栏等攻能乘揑高操作的便刘性;5.4.保存界面文件编辑完成后,点击文件-保存/文件-另存为,即可对文件进行保存,如下 图所示:悒<2! 5=(V1 ifCJj (H !皤写一个多哀档为犬淬编帥臥具备肃[•功舘 C5)旨甬一矽沖箭瞬吾T 扛和埔右 w.侃再、rm 、闰存为和溟也趣期狐用丹多个文点文flith 笙笹;廊若州帚辑孑宁忤疋寧打开片戸机上而 A^Bbl AaffbCcl w>AjBbCd5—:i 1 :i Kii 1^* i Sli I .E=:I IdQi母冏■ SK13如jdi£(Nj:1*■MMLE - ( *JMV転迂• rsrr-:-jou/yit : 10.4215卷壬 ■re■ £H陀:£—5.6退出文档点击文件-退出,即可退出程序¥左吉口牛i r.t>i ]HJKO)刘牛呂㈣;5.5打开文档点击文件-打开,即可打开打开文档页面,如下图所示:Cc AaBhC立碟R 辑T 年刃詐価t bnBSLJB"fDI 3/5/16 1642』• ” gT *下就■ An甸牡衔可ao 西5.7字体大小设置界面<1^徽软中文软件中3T GB23125.8字体颜色设置界面字偉字形on :大小⑸: 小五瞩走常规四号小五5?琵六、设计体会由于之前很少接触Dialog之类的控件,很多属性方法都不知道,所以本次程序设计时遇到了很多困难,很多都是来源于这些控件方法的调用问题。