C#编写的文本编辑器课程设计Word文件下载.docx
- 文档编号:6201482
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:33
- 大小:277.08KB
C#编写的文本编辑器课程设计Word文件下载.docx
《C#编写的文本编辑器课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《C#编写的文本编辑器课程设计Word文件下载.docx(33页珍藏版)》请在冰点文库上搜索。
(1)实现鼠标的右键常用功能,如复制、粘贴、剪切、撤销、全选、颜色。
(2)实现各功能的快捷键设置
(3)实现文本框的外观设置
2.应用程序功能说明
新建:
在未保存的情况下提示是否需要对文件进行保存
打开:
打开已有的文件
保存:
对文件进行保存,并显示保存的位置
另存为:
和保存的功能基本相似
文件页面属性:
显示文本文档的页面属性
打印:
实现对文本的打印功能
打印预览:
打印前对打印效果的预览
退出:
关闭打开的文本文档
撤销:
撤除上一步操作
剪切:
将选中的部分剪切掉
复制:
复制选中的部分
粘贴:
对剪切和复制的部分进行粘贴
编辑删除:
删除选中的部分
查找:
实现单方向查找
全选:
选中文本文档中的全部内容
时间/日期:
在文本后加上时间
替换:
对那些需要改变的内容实施替换和全部替换
自动换行:
在一行写满之后,自动跳转到下一行
格式字体:
调用系统中自带的字体,实现对字体样式和大小的改变
颜色:
调用系统中自带的颜色,实现对字体颜色的改变
背景颜色:
在给定的几种颜色中选一种作为背景颜色
查看状态栏:
显示当前输入文本的字数和年/月/日
帮助主题:
显示帮助部分
帮助关于记事本:
版权的说明
客户反馈:
对客户的满意程度实施调查
3.源程序
3.1Form1部分源代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.IO;
//调用命名空间
usingSystem.Drawing.Printing;
//调用打印命名空间
namespace模拟文本文档Ì
{
publicpartialclassForm1:
Form
{
stringname;
stringdk;
StringReaderstreamToPrint=null;
FontprintFont;
//intFindPosition=0;
publicintk=0;
publicForm1()
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
撤销¨
²
ToolStripMenuItem.Enabled=false;
//在程序运行开始时这些选择都是无效的
剪切DToolStripMenuItem.Enabled=false;
复制ToolStripMenuItem.Enabled=false;
删除yToolStripMenuItem.Enabled=false;
转到Ì
?
//状态栏ToolStripMenuItem.Enabled=false;
查找替换ToolStripMenuItem.Enabled=false;
this.richTextBox1.Anchor=(System.Windows.Forms.AnchorStyles)(System.Windows.Forms.AnchorStyles.Left|
System.Windows.Forms.AnchorStyles.Bottom|
System.Windows.Forms.AnchorStyles.Right|
System.Windows.Forms.AnchorStyles.Top);
//richTextBox1的放大与还原代码
privatevoid字体¬
ToolStripMenuItem_Click(objectsender,EventArgse)
if(fontDialog1.ShowDialog()==DialogResult.OK)//获取对话框的返回值是确定
richTextBox1.SelectionFont=fontDialog1.Font;
//获取系统的字体
privatevoid新建ToolStripMenuItem_Click(objectsender,EventArgse)
if(richTextBox1.Modified==true)
DialogResultn=MessageBox.Show("
文件"
+Text+"
”内容已修改\n是否要保存"
"
提示"
MessageBoxButtons.YesNoCancel,MessageBoxIcon.Exclamation);
//带有黄色感叹号的MessageBox
switch(n)//使switch用语句判断
case(DialogResult.Yes):
保存ToolStripMenuItem_Click(sender,e);
break;
case(DialogResult.No):
richTextBox1.Text="
"
;
case(DialogResult.Cancel):
richTextBox1.Modified=false;
privatevoid打开ToolStripMenuItem_Click_1(objectsender,EventArgse)
OpenFileDialognewdk=newOpenFileDialog();
//实例化newdk
newdk.Title="
打开"
//设置文件对话框的标题
stringdakai=Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
//从电脑中检索的对应文件赋值给字符串变量dakai
newdk.InitialDirectory=dakai;
//将dakai赋值给newdk
newdk.Filter="
纯文本(*.txt)|*.txt|c#源文件(*.cs)|*.cs|10信管一班陈勇(*.txt)|*.10信管一班陈勇"
//文件名筛选器
newdk.ValidateNames=true;
newdk.CheckFileExists=true;
newdk.ShowHelp=true;
//获取帮助按钮
newdk.Multiselect=true;
newdk.FilterIndex=2;
//表示32位的有效整数不可随意赋值
if(openFileDialog1.ShowDialog()==DialogResult.OK)//在打开对话框确认的情况下
dk=openFileDialog1.FileName;
//将获取的文件名字符串赋值给dk
this.richTextBox1.Text=newdk.FileName;
richTextBox1.LoadFile(openFileDialog1.FileName,RichTextBoxStreamType.PlainText);
privatevoid保存ToolStripMenuItem_Click(objectsender,EventArgse)
try//使用语句处理异常情况
StreamWriterbc=newStreamWriter(name,false,Encoding.GetEncoding("
gb2312"
));
stringbaocun=richTextBox1.Text;
bc.Write(baocun);
bc.Close();
catch
saveFileDialog1.Filter="
纯文本(*.txt)|*.txt|10信管一班陈勇c#源文件(*.cs)|*.cs"
saveFileDialog1.OverwritePrompt=true;
if(richTextBox1.Text=="
)
MessageBox.Show("
请输入要保存的内容"
);
else
if(saveFileDialog1.ShowDialog()==DialogResult.OK)
StreamWriterc=newStreamWriter(saveFileDialog1.FileName,false,Encoding.GetEncoding("
//gb2312国标,中国自己的
name=saveFileDialog1.FileName;
stringd=richTextBox1.Text;
//将文本中的字符串赋值给局部变量
c.Write(d);
//将字符串重载
c.Close();
privatevoid另存为aToolStripMenuItem_Click(objectsender,EventArgse)//类似保存
DialogResultclose=MessageBox.Show("
是否保存已修改的内容,"
MessageBoxButtons.YesNoCancel,MessageBoxIcon.Warning);
switch(close)
caseDialogResult.Yes:
this.保存ToolStripMenuItem_Click(sender,e);
StreamWritersww=newStreamWriter(name,false,Encoding.GetEncoding("
stringdata=richTextBox1.Text;
sww.Write(data);
sww.Close();
文件t|*.txt"
StreamWritersww=newStreamWriter(saveFileDialog1.FileName,false,Encoding.GetEncoding("
caseDialogResult.No:
richTextBox1.Clear();
caseDialogResult.Cancel:
privatevoid撤销ToolStripMenuItem_Click(objectsender,EventArgse)
richTextBox1.Undo();
//撤销
privatevoidrichTextBox1_TextChanged(objectsender,EventArgse)
if(richTextBox1==null)
剪切DToolStripMenuItem.Enabled=true;
if(richTextBox1.Text==null)
撤销ToolStripMenuItem.Enabled=false;
//如果richTextBox1为空则无法执行
撤销ToolStripMenuItem.Enabled=true;
if(richTextBox1.Text==null)//复制
复制ToolStripMenuItem.Enabled=true;
if(richTextBox1.Text==null)//粘贴
粘贴ToolStripMenuItem.Enabled=false;
粘贴ToolStripMenuItem.Enabled=true;
删除ToolStripMenuItem.Enabled=false;
删除ToolStripMenuItem.Enabled=true;
查找替换ToolStripMenuItem.Enabled=true;
this.toolStripStatusLabel5.Text="
当前文档字数合计为"
+this.richTextBox1.Text.Length;
this.toolStripStatusLabel6.Text=datetime.now.Tosting();
privatevoid剪?
切DToolStripMenuItem_Click(objectsender,EventArgse)
richTextBox1.Cut();
//剪切
privatevoid复制ToolStripMenuItem_Click(objectsender,EventArgse)
richTextBox1.Copy();
//复制
privatevoid粘贴ToolStripMenuItem_Click(objectsender,EventArgse)
richTextBox1.Paste();
//粘贴
privatevoid删除ToolStripMenuItem_Click(objectsender,EventArgse)
richTextBox1.SelectedText="
//删除
privatevoid撤销ToolStripMenuItem1_Click(objectsender,EventArgse)
privatevoid全选ToolStripMenuItem1_Click(objectsender,EventArgse)
richTextBox1.SelectAll();
privatevoid剪切ToolStripMenuItem1_Click(objectsender,EventArgse)
privatevoid复制ToolStripMenuItem1_Click_1(objectsender,EventArgse)
privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse)
privatevoidsaveFileDialog1_FileOk(objectsender,CancelEventArgse)
privatevoid自动换行ToolStripMenuItem_Click(objectsender,EventArgse)
richTextBox1.WordWrap=true;
privatevoid打开ToolStripMenuItem_Click(objectsender,EventArgse)
this.openFileDialog1.Title="
this.openFileDialog1.Filter="
文本文件t(*.txt;
*.rtf)|*.txt;
*.rtf|所有文件t(*.*)|*.*"
this.openFileDialog1.FilterIndex=1;
this.openFileDialog1.InitialDirectory="
桌面"
this.openFileDialog1.ShowReadOnly=true;
this.openFileDialog1.ReadOnlyChecked=false;
this.openFileDialog1.FileName="
if(this.openFileDialog1.ShowDialog()==DialogResult.OK)
this.Text=this.openFileDialog1.FileName;
StreamReaderstr=newStreamReader
(this.openFileDialog1.FileName,Encoding.Default);
this.richTextBox1.Text=str.ReadToEnd();
str.Close();
privatevoid页面属性ToolStripMenuItem_Click(objectsender,EventArgse)
printDialog1.Document=printDocument1;
printDialog1.ShowDialog();
privatevoid粘贴ToolStripMenuItem1_Click(objectsender,EventArgse)
privatevoid复制ToolStripMenuItem1_Click(objectsender,EventArgse)
privatevoid粘贴ToolStripMenuItem1_Click_1(objectsender,EventArgse)
privatevoid页面属性ToolStripMenuItem_Click_1(objectsender,EventArgse)
pageSetupDialog1.Document=printDocument1;
pageSetupDialog1.ShowDialog();
privatevoid颜色ToolStripMenuItem_Click(objectsender,EventArgse)
if(colorDialog1.ShowDialog()==DialogResult.OK)//对Click事件中的颜色
richTextBox1.SelectionColor=colorDialog1.Color;
if(colorDialog1.ShowDialog()==DialogResult.OK)//右键功能中的颜色设置对选中的进行修改
//获取选中的文字
privatevoidprintDocument1_PrintPage(objectsender,PrintPageEventArgse)//打印
{//用浮点类型因为可能出现小数
floatlinesPerPage=0;
//记录每页的最大行数
floatyPosition=0;
//垂直方向的位置
intcount=0;
//每页打印的行数
floatleftMargin=e.MarginBounds.Left;
//左边距
floattopMargin=e.MarginBounds.Top;
//顶边距
stringline=null;
//从中读取段字符串存储到line中
linesPerPage=e.MarginBounds.Height/printFont.GetHeight(e.Graphics);
//行数总高度每行高度
while(count<
linesPerPage&
&
((line=streamToPrint.ReadLine()))!
=null)
//如果当前打印页面行数不足页的最大行数并且读取的行数不为空那么继续打印
yPosition=topMargin+(count*p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 编写 文本 编辑器 课程设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)