用C#编写文本编辑器试验报告_第1页
用C#编写文本编辑器试验报告_第2页
用C#编写文本编辑器试验报告_第3页
用C#编写文本编辑器试验报告_第4页
用C#编写文本编辑器试验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论