c文本编辑器课程设计_第1页
c文本编辑器课程设计_第2页
c文本编辑器课程设计_第3页
c文本编辑器课程设计_第4页
c文本编辑器课程设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要:这个课题是一个关于文本编辑器的小程序,运用一些简单的记事本的基本操作功能来实现的。该程序利用C#程序编写,在Visual Studio 2005的环境下进行调试运行的。对于该程序开发,必须达到以下要求:1、熟悉.NET开发环境,能够使用C#语言在.NET平台上独立设计、开发WINDOWS应用程序。2、掌握C#语言的异常处理技术,能够使用.NET各种调试方法调试代码,掌握帮助的使用方法。3、掌握常用控件以及控件的常用属性的使用方法。4、界面要做到简洁易懂,具有人性化等特点。5、程序没有在使用过程中不存在任何的问题。目 录摘要:5一、采用技术61. visual studio 2005编辑环

2、境62.C#的窗体编程编程7二、选题说明7三总体说明81.程序的基本结构82.程序的主要技术8四详细说明91. 界面设计9五遇到的问题和解决方法12六心得体会12七参考文献13八 部分程序代码13一、采用技术1. visual studio 2005编辑环境Visual Studio 是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序开发环境。目前已经开发到 8.0 版本,也就是 Visual Studio 2005。 Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Of

3、fice 插件。Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。2.C#的窗体编程Windows 窗体是用于 Microsoft Window

4、s 应用程序开发的、基于 .NET Framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集,使您能够开发功能丰富的 Windows 应用程序。另外,Windows 窗体可作为多层分布式解决方案中的本地用户界面。窗体是一种文档,可以用来收集信息。它包括两部分,一部分是由窗体设计者输入的,填写窗体的人无法更改的文字或图形。窗体设计者可以插入希望得到回答的问题、选项列表、信息表格等。另一部分是由窗体填写者输入的,用于从填写窗体者处收集信息并进行整理的空白区域。窗体设计者可以在文档中插入窗体域或 ActiveX 控件,为窗体填写者提供用于收集数据的位置。二、选题说明随着科技的发

5、展,人们对精神生活要求的越来越高,纸质的手动式的书写方式已经不是能够代表新世纪的生活需要了,所以现在各种不同功能的文本编辑器已经悄悄走进我们的生活和学习中,像简单的就有记事本。 但是一个简单的文本编辑器也是很重要的,是基础。所以在结合自己的一个学期的很认真的学习c#后,决定自己编译一个类似与记事本的,但功能比记事本强大的文本编辑器。三总体说明1. 程序的基本结构操作界面的主窗口为文本编辑器的主入口,类似于记事本的形式,菜单栏要如下的几项(),另外还有两个简单的toolstripe式的图片按钮,分别是新建和保存。当点击新建的时候,会弹出我们将要编辑的文档文本窗口,这是我们编写文字的地方。书写完毕

6、后,要先确认是否保存此文件夹,这样就不会发生自己所编辑的内容会丢失。2. 程序的主要技术 (1)编写要先新建,编写之后要有保存功能; (2)基本的操作功能如,复制、粘贴、剪切、撤销等;(3)还可以设置文字的字体字形和字体的颜色。四详细说明1. 界面设计打开Visual Studio 2005开发工具,新建一个Windows应用程序,然后在窗体上依次放置1个MenuStrip菜单栏和1个ToolStrip工具栏,如图4-1所示(设置好属性后)。图4-1 编辑器用户界面运行程序,新建文档。如图4-2所示。图4-2新建文本文档运行程序,设置字体的大小和粗细,以及字体的颜色。如图4-3所示图4-3 字

7、体大小及颜色单击保存按钮,保存所编辑的文本。结果如图4-4所示。图4-4 保存文本单击文件按钮,能够实现如下的功能,结果如图4-5所示。图4-5 菜单文件的功能单击编辑按钮,功能如下,结果如图4-6所示图4-6 菜单编辑的功能五遇到的问题和解决方法问题1:未考虑到生成文档窗体在主窗体中的显示解决办法:在参照样例程序的时候,发现文档是显示在主窗体内部,结合自己的所学,发现设置主窗体的属性记事本 f = new 记事本(); f.MdiParent = this; count+; f.Text = "新建文本" + count;设置成Mdiparent属性即可。问题2:不知到什

8、么属性被修改,导致主窗体关闭失效解决办法:在菜单文件中设置关闭程序的命令,并申请了菜单合并,不需要在新建文档的情况下就能关闭主窗体,现在仍然留下一个让人深究的问题,究竟是什么样的属性才是控制最大化,最小化,以及关闭的显隐性,有待继续学习。这是自己在程序完成的时候出现的意外,但是确是我在编写过程中遇到的最大难题。问题3:未考虑到文档关闭时,文档是否保存解决办法:这是细节问题,其实是很容易做到,当关闭的时候显示一个对话框提示一下即可。 六心得体会通过本次的课程设计,让我学会了把书本上的知识用到了实际中来。虽然在这一周中一直沉浸在课程设计中,有的问题一直到了最后才被解决,虽然现在还留有一个问题,但是

9、我认为这未必就不是好事,它的存在激发了我继续深入学习c#开发程序的热情,我会更加努力的去探索,去深入的剖析。这样能锻炼我的意志,磨练我的耐心,失败是成功之母,这话一点都没错,没有失败就没有成功。让我没有失去信心的是关怀我们的老师,当我们有了问题和疑问,老师就很耐心的给予讲解,让我们有了一个良好的学习氛围。当然同学之间的互相帮助也是不容护忽视的,同时也证实了那句话“团结就是力量”。还有让我学会了利用c#的windows程序可以做出这样的小系统,以前只会用c#编写控制台程序,现在让我懂得了如何利用c#来编写窗体代码,我很开心。回顾此次课程设计感觉收获很大,不仅巩固了以前所学的知识,而且学到了很多书

10、本上学不到的东西。通过这次课程设计使我们懂得了理论和实际相结合的重要性,只有把理论与实际相结合,从理论中得出结论,才能真正为社会服务。七参考文献1郑阿奇、梁敬东、钱晓军等,c#实用教程,电子工业出版社,2009年2 钱雪忠、黄学光等,数据库原理及应用,北京邮电大学出版社,2005年.八部分程序代码private void 格式ToolStripMenuItem_Click(object sender, EventArgs e) /通过“新建”菜单项添加子窗口 private void 新建ToolStripMenuItem_Click(object sender, EventArgs e) /

11、创建子窗体 记事本 f = new 记事本(); f.MdiParent = this; count+; f.Text = "新建文本" + count; f.Show(); private void Form1_Layout(object sender, LayoutEventArgs e) this.LayoutMdi(MdiLayout.ArrangeIcons); private void 打开ToolStripMenuItem_Click(object sender, EventArgs e) /在子窗口中打开文件 CheckSave(); if (openFil

12、eDialog1.ShowDialog() = DialogResult.OK) private void CheckSave() if (记事本.ActiveForm.Text != " ") if (MessageBox.Show("是否保存当前文件?", "确认", MessageBoxButtons.OKCancel) = DialogResult.OK) /MySaveFile(); private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) if (

13、MessageBox.Show("你确认要退出吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) this.Close(); private void 关于ToolStripMenuItem_Click(object sender, EventArgs e) MessageBox.Show("每天都要开心!"); private void toolStripButton1_Click(object sender, EventA

14、rgs e) 记事本 f = new 记事本(); f.MdiParent = this; count+; f.Text = "新建文本" + count; f.Show(); private void 另存为ToolStripMenuItem_Click(object sender, EventArgs e) /实现另存为功能 this.saveFileDialog1.Filter = "txt files(*.txt)|*.txt|rdf files(*.rdf)|*.rdf|all files(*.*)|*.*" this.saveFileDial

15、og1.FilterIndex = 1; if (this.saveFileDialog1.ShowDialog() = DialogResult.OK) filename = this.saveFileDialog1.FileName; try richTextBox1.LoadFile(filename, RichTextBoxStreamType.PlainText); catch if (filename != "") richTextBox1.SaveFile(filename, RichTextBoxStreamType.PlainText); private

16、void 全选ToolStripMenuItem_Click(object sender, EventArgs e) MySaveFile(); private void MySaveFile() if (saveFileDialog1.ShowDialog() = DialogResult.OK) richTextBox1.SaveFile(saveFileDialog1.FileName); private void CheckSave() /提醒用户确认保存 if (记事本.ActiveForm.Text != " ") if (MessageBox.Show(&qu

17、ot;是否保存当前文件?", "确认", MessageBoxButtons.OKCancel) = DialogResult.OK) MySaveFile(); private void 打开OToolStripMenuItem_Click(object sender, EventArgs e) /实现打开功能 CheckSave(); if (openFileDialog1.ShowDialog() = DialogResult.OK) richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStr

18、eamType.PlainText); private void 页面设置ToolStripMenuItem_Click(object sender, EventArgs e) /创建页面设置对话框 PageSetupDialog my = new PageSetupDialog(); my.Document = printDocument1; try my.ShowDialog(); catch private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e) /实现剪切功能 int CurPosition = richTe

19、xtBox1.SelectionStart; Clipboard.SetDataObject(richTextBox1.SelectedText); richTextBox1.Text = richTextBox1.Text.Substring(0, CurPosition) + richTextBox1.Text.Substring(CurPosition+richTextBox1.SelectedText.Length); richTextBox1.SelectionStart = CurPosition; private void 复制ToolStripMenuItem_Click(ob

20、ject sender, EventArgs e) /实现复制功能 Clipboard.SetDataObject(richTextBox1.SelectedText); private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e) /实现粘贴功能 IDataObject idata = Clipboard.GetDataObject(); if (idata.GetDataPresent(DataFormats.Text) string ClipBoardStr = (string)idata.GetData(DataF

21、ormats.Text); int CurPosition = richTextBox1.SelectionStart; richTextBox1.Text = richTextBox1.Text.Substring(0, CurPosition) + ClipBoardStr + richTextBox1.Text.Substring(CurPosition); richTextBox1.SelectionStart = CurPosition + ClipBoardStr.Length; private void 删除ToolStripMenuItem_Click(object sende

22、r, EventArgs e) /实现删除功能 int CurPosition = richTextBox1.SelectionStart; Clipboard.SetDataObject(richTextBox1.SelectedText); richTextBox1.Text = richTextBox1.Text.Substring(0, CurPosition) + richTextBox1.Text.Substring(CurPosition + richTextBox1.SelectedText.Length); / richTextBox1.SelectionStart = Cu

23、rPosition; private void 字体ToolStripMenuItem_Click(object sender, EventArgs e) /创建字体对话框 fontDialog1.ShowDialog(); richTextBox1.SelectionFont = fontDialog1.Font; private void 颜色YToolStripMenuItem_Click(object sender, EventArgs e) /创建颜色对话框 colorDialog1.ShowDialog(); richTextBox1.SelectionColor = colorD

24、ialog1.Color; private void 撤消ToolStripMenuItem_Click(object sender, EventArgs e) /实现撤消功能 if (this.richTextBox1.CanUndo = true) this.richTextBox1.Undo(); this.richTextBox1.ClearUndo(); private void 全选AToolStripMenuItem_Click(object sender, EventArgs e) /全选文本内容 this.richTextBox1.SelectAll(); private v

25、oid 打印PToolStripMenuItem_Click(object sender, EventArgs e) /创建打印对话框 PrintDialog p = new PrintDialog(); p.Document = printDocument1; if (p.ShowDialog() = DialogResult.OK) try printDocument1.Print(); catch private void 自动换行WToolStripMenuItem_Click(object sender, EventArgs e) /实现自动换行功能 richTextBox1.Wor

26、dWrap = 自动换行WToolStripMenuItem.Checked; private void richTextBox1_SelectionChanged(object sender,EventArgs e) if (richTextBox1.SelectedText.Length>0) 剪切ToolStripMenuItem.Enabled = true; 粘贴ToolStripMenuItem.Enabled = true; 删除ToolStripMenuItem.Enabled = true; 复制ToolStripMenuItem.Enabled = true; else 剪切ToolStripMenuItem.Enabled = false; 粘贴ToolStripMenuItem.Enabled = false; 删除ToolStripMenuItem.Enabled = false; 复制ToolStripMenuItem.Enabled = false; 苏 州 市 职 业 大 学课程设计任务书 课程名称: 计算机语言C#课程设计 起讫时间:4 院 系: 计算机工程系 班级: 10软件测试 指导教师: 张 苏、殷

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论