




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用C#编写“文本编辑器”实验报告实验_3_项目名称:文本编辑器1、实验目的和要求通过本实验,使得学生理解操作系统目录与文件的概念,掌握文件流的读写操作。要求编写一个满 足以下条件的文本编辑器程序。(1 )程序界面与操作系统中的记事本界面类似。(2) 程序可以打开、保存和编辑txt文本文件。(3)程序可以查找和替换文本内容中的指定字符串2、程序代码using System;using System.Collectio ns.Ge neric;using System.Comp onen tModel;using System.Data;using System.Drawi ng;using Sy
2、stem丄inq;using System.Text;using System.Wi ndows.Forms;using Syste m.10;n amespace记事本public partial class frmNotepad : Formbool b = false;/布尔变量b用于判断文件是新建的还是从磁盘打开。true表示文件从磁盘打开的,false表示文件是新建的,默认值为falsebool s = true;/布尔变量s用于判断文件是否被保存。false表示未被保存, 默认值为truepublic frmNotepad()In itializeComp onen t();/*多
3、格式文本框TextChange的事件代码*/private void rtxtNotepad_TextCha nged(object sen der, Eve ntArgs e)/文本被修改后,设置s为false,表示文件未被保存s = false;/*【新建】菜单代码*/private void tsmiNew_Click(object sen der. Eve ntArgs e) _/判断当前文件是否从磁盘打开,或者新建时文档不为空,并且文件未被保存if (b = true | rtxtNotepad.Text.Trim() !="")/若文件未被保存if (s = f
4、alse)stri ng result;result = MessageBox.Show(”文件尚未保存,是否保存?","保存文件", MessageBoxButt on s.YesNoCa ncel).ToStri ng();switch (result)case "Yes":/若文件是从磁盘打开的if (b = true)/按文件打开的路径保存文件rtxtNotepad.SaveFile(odlgNotepad.FileName);/若文件不是从磁盘打开的elseif (sdlgNotepad.ShowDialog()=DialogResu
5、lt.OK) rtxtNotepad.SaveFile(sdlgNotepad.FileName);s = true;rtxtNotepad.Text =""break;case "No":b = false;rtxtNotepad.Text =""break;/*【打开】菜单代码*/private void tsmiOpen_Click(object sender, EventArgs e) _if (b = true | rtxtNotepad.Text.Trim() !="”)stri ng result;result
6、 = MessageBox.Show(”文件尚未保存,是否保存?","保存文件", MessageBoxButto ns.YesNoCa ncel).ToStri ng();switch (result)case "Yes":if (b = true)rtxtNotepad.SaveFile(odlgNotepad.FileName);elseif (sdlgNotepad.ShowDialog() = DialogResult.OK)rtxtNotepad.SaveFile(sdlgNotepad.FileName);s = true;rtx
7、tNotepad.Text =""break;case "No":b = false;rtxtNotepad.Text =""break;odlgNotepad.RestoreDirectory = true;if(odlgNotepad.ShowDialog()= DialogResult.OK) &&odlgNotepad.FileName !="")rtxtNotepad.LoadFile(odlgNotepad.FileName);b = true;s = true;/*【保存】菜单代码*/
8、private void tsmiSave_Click(object sen der, Even tArgs e) _/若文件从磁盘打开并且修改了其内容if (b = true && rtxtNotepad.Modified = true)rtxtNotepad.SaveFile(odlgNotepad.FileName);s = true;elseif (b = false && rtxtNotepad.Text.Trim()sdlgNotepad.ShowDialog() = DialogResult.OK) rtxtNotepad.SaveFile(sdl
9、gNotepad.FileName); s = true;b = true;odlgNotepad.FileName = sdlgNotepad.FileName;/*【另存为】菜单代码*/private void tsmiSaveAs_Click(object sen der, Eve ntArgs e) _if (sdlgNotepad.ShowDialog() = DialogResult.OK) rtxtNotepad.SaveFile(sdlgNotepad.FileName); s = true;/* 【退出】菜单代码*/private void tsmiClose_Click(o
10、bject sender, EventArgs e) _Applicatio n.Exit();/【撤销】菜单代码private void tsmiUndo_Click(object sender, EventArgs e) _rtxtNotepad.U ndo();/【复制】菜单代码private void tsmiCopy_Click(object sen der, Eve ntArgs e) _rtxtNotepad.Copy();/【剪切】菜单代码private void tsmiCut_Click(object sender, EventArgs e) _!=&&rt
11、xtNotepad.Cut();/ 【粘贴】菜单代码private void tsmiPaste_Click(object sender. EventArgs e) _rtxtNotepad.Paste();/ 【全选】菜单代码private void tsmiSelectAII_Click(object sender, EventArgs e) _rtxtNotepad.SelectAll();/ 【日期】菜单代码private void tsmiDate_Click(object sender, EventArgs e) _rtxtNotepad.Appe ndText(System.Da
12、teTime.Now.ToStri ng();/【自行换行】菜单代码private void tsmiAuto_Click(object sender, EventArgs e) _if (tsmiAuto.Checked = false)tsmiAuto.Checked = true;/选中该菜单项rtxtNotepad.WordWrap = true;/设置为自动换行elsetsmiAuto.Checked = false; rtxtNotepad.WordWrap = false;/ 【字体】菜单代码private void tsmiFont_Click(object sender, E
13、ventArgs e) _fdlgNotepad.ShowColor = true;if (fdlgNotepad.ShowDialog() = DialogResult.OK)rtxtNotepad.Selectio nColor = fdlgNotepad.Color; rtxtNotepad.Selecti onFont = fdlgNotepad.F ont;/【工具栏】菜单代码private void tsmiToolStrip_Click(object sender. EventArgs e) _Point point;if (tsmiToolStrip.Checked = tru
14、e)point = new Point(O, 25);/隐藏工具栏时,把坐标设为(0, 25),因为菜单的高度为24tsmiToolStrip.Checked = false;tlsNotepad.Visible = false;rtxtNotepad Location = poi nt;设置多格式文本框左上角的位置rtxtNotepad.Height += tlsNotepad.Height;/隐藏工具栏后,增加文本框的高度else/显示工具栏时,多格式文本框左上角的位置为(0, 50),因为工具栏的高度25加上菜单的高度25=50point = new Poin t(0, 50);tsmi
15、ToolStrip.Checked = true;tlsNotepad.Visible = true;rtxtNotepad.Locati on = point;rtxtNotepad.Height -= tlsNotepad.Height;/【状态栏】菜单代码private void tsmiStatusStrip_Click(object sender, EventArgs e)if (tsmiStatusStrip.Checked = true)tsmiStatusStrip.Checked = false;stsNotepad.Visible = false;rtxtNotepad.H
16、eight += stsNotepad.Height;elsetsmiStatusStrip.Checked = true;stsNotepad.Visible = true;rtxtNotepad.Height -= stsNotepad.Height;/【关于记事本】菜单代码private void tsmiAbout_Click(object sender. EventArgs e) _frmAbout ob_FrmAbout = new frmAbout(); ob_FrmAbout.Show();sen der,privatevoidtlsNotepadtemClicked(obje
17、ctToolStripItemClickedEventArgs e)int n;/变量n用来接收按下按钮的索引号n = tlsNotepad .I tems.I ndexOf(e.Clickedltem);switch (n)case 1:tsmiNew_Click(sender, e);break;case 2:tsmiOpen_Click(sender, e);break;case 3:tsmiSave_Click(sender, e);break;case 4:tsmiCut_Click(sender, e);break;case 5:tsmiCopy_Click(sender, e);break;case 6:tsmiPaste_Click(sender, e);break;case 7:tsmiAbout_Click(sender, e); break;/计时器控件代码private void tmrNotepad_Tick(object sen der, Even tArgs e) _tssLbl2.Text = System.DateTime.Now.ToS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西省户县八年级语文上册 第二单元 5 藤野先生鲁迅教学设计3 新人教版
- 第一单元第1课《计算机网络》教学设计 2023-2024学年浙教版(2023)初中信息技术七年级上册
- 认识动物(教学设计)-2023-2024学年三年级下册综合实践活动安徽大学版
- 刻意练习的小自考汉语言考试试题及答案
- 小学教资科一试题及答案
- 2024年小自考关于行政管理的试题及答案
- 小自考交互体验设计试题及答案
- 2024秋九年级化学上册 第三单元 物质构成的奥秘 课题2 原子的结构第1课时 原子的构成 相对原子质量教学设计1(新版)新人教版
- 有你不错-元气满满(教学设计)2023-2024学年初三下学期教育主题班会
- 备考食品安全员考试的科学方法试题及答案
- (二模)温州市2025届高三第二次适应性考试语文试卷(含答案)
- 2024-2025学年人教版数学八年级下册第一次月考模拟练习(含答案)
- 浙江省杭州市五县七校2025年下学期高三第一次月考数学试题含解析
- 2025届河北省承德市、张家口市高三下学期一模考试英语试题(含答案)
- 2024山西云时代技术有限公司社会招聘59人笔试参考题库附带答案详解
- 2025年三峡旅游职业技术学院单招职业技能测试题库必考题
- Unit+4+Eat+Well+Section+A+2a~2e课件-2024-2025学年人教版(2024)英语七年级下册+
- 2025年主提升机司机试题及答案
- 全国行政区域身份证代码表(电子表格版)
- 《电气安全规范》课件
- 2024年滁州来安农商银行社会招聘笔试真题
评论
0/150
提交评论