C#简单文本编辑器知识讲解Word格式文档下载.docx
《C#简单文本编辑器知识讲解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C#简单文本编辑器知识讲解Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
二、算法分析
(描述清楚程序流程,可用自然语言说明,也可用流程图等说明。
)
1.界面设计
1.新建Windows窗体应用程序。
向其中添加RichTextBox控件、MenuStrip控件、openFileDialog控件、saveFileDialog1、fontDialog、colorDialog。
2.添加菜单:
a.文件(新建、打开、保存、另存为、退出)。
b.编辑(撤销、还原、剪切、复制、粘贴、全选)。
c.格式(字体、颜色)
二.代码编写
1.定义窗体全局变量并设置初始值
fname="
"
;
//文件名
issave=false;
//文档是否保存过
tchange=false;
//文档是否修改过。
2.双击新建菜单,输入新建事件代码:
a.如果当前文档没有保存,则保存当前文档;
b.清空richTextBox1;
c.设置issave、tchange、fname值。
3.输入打开事件代码:
a.设置openFileDialog控件Title、FileName、Filter的初始值。
b.使用openFileDialog1.ShowDialog()方法打开“打开文件”对话框。
c.将openFileDialog控件的文件名存入fname。
d.使用richTextBox1.LoadFile方法打开文件。
e.设置issave、tchange的值。
4.输入保存事件代码:
a.如果fname不为空,则使用richTextBox.SaveFile方法保存文件,设置issave值。
否则:
设置saveFileDialog控件Title、Filter值。
b.使用saveFileDialog1.ShowDialog()方法打开“保存文件”对话框,输入要保存的文件名。
c.使用richTextBox.SaveFile方法保存文件,设置issave值。
5.输入另存为事件代码:
a.设置saveFileDialog控件Title、Filter值。
6.输入退出事件代码:
Application.Exit方法
7.输入文本框的TextChanged事件代码:
设置tchange=true;
8.撤销、还原、剪切、复制、粘贴代码
richTextBox1.Undo、Redo、Cut、Undo、Copy、Paste、SelectAll方法。
9.输入字体事件代码:
a.使用fontDialog1.ShowDialog;
b.设置richTextBox1.SelectionFont属性为所选择的字体。
10.输入颜色事件代码:
a.使用colorDialog的ShowDialog()方法;
b.设置richTextBox1.SelectionColor为所选择的颜色;
三、界面及运行过程
四、关键代码
(代码要求注释完整,例如:
变量的作用,语句的作用,方法的功能等都要加注释说明)
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.IO;
namespace项目2
{
publicpartialclassForm1:
Form
{
stringfname="
boolissave=false;
booltchange=false;
//文档是否修改过
publicForm1()
InitializeComponent();
}
privatevoid新建ToolStripMenuItem_Click(objectsender,EventArgse)
if(this.richTextBox1.TextLength>
0&
&
(issave.Equals(false)))
if(MessageBox.Show("
文件没有保存是否保存文件?
"
提示"
MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.Yes)
if(fname=="
saveFileDialog1.Title="
保存"
saveFileDialog1.Filter="
文本文件(*.txt)|(*.txt)|所有文件(*.*)|(*.*)"
if(this.saveFileDialog1.ShowDialog()==DialogResult.OK)
this.fname=this.saveFileDialog1.FileName;
this.richTextBox1.SaveFile(fname,RichTextBoxStreamType.PlainText);
}
issave=true;
this.richTextBox1.Clear();
tchange=false;
else
issave=false;
fname="
文档1"
}
privatevoid打开ToolStripMenuItem_Click(objectsender,EventArgse)
openFileDialog1.Title="
打开"
openFileDialog1.FileName="
if(this.openFileDialog1.ShowDialog()==DialogResult.OK)
//得到用户选择的文件名
fname=this.openFileDialog1.FileName;
//读取文件内容
this.richTextBox1.LoadFile(fname,RichTextBoxStreamType.PlainText);
privatevoid保存ToolStripMenuItem1_Click(objectsender,EventArgse)
if(fname=="
文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"
privatevoid另存为ToolStripMenuItem_Click(objectsender,EventArgse)
另存为"
privatevoid撤销ToolStripMenuItem_Click(objectsender,EventArgse)
this.richTextBox1.Undo();
privatevoid还原ToolStripMenuItem_Click(objectsender,EventArgse)
this.richTextBox1.Redo();
privatevoid剪切ToolStripMenuItem_Click(objectsender,EventArgse)
if(richTextBox1.SelectionLength>
0)
this.richTextBox1.Cut();
privatevoid复制ToolStripMenuItem_Click(objectsender,EventArgse)
this.richTextBox1.Copy();
privatevoid粘贴ToolStripMenuItem_Click(objectsender,EventArgse)
this.richTextBox1.Paste();
privatevoid全选ToolStripMenuItem_Click(objectsender,EventArgse)
this.richTextBox1.SelectAll();
privatevoid字体ToolStripMenuItem_Click(objectsender,EventArgse)
if(this.fontDialog1.ShowDialog()==DialogResult.OK)
Fontfont=this.fontDialog1.Font;
richTextBo