C#WinForm程序设计之升级版文本编辑器
前面的那篇博文讲解了一个简单版本的文本编辑器,实现了一些最简单的功能。那么这里我们对那个文本编辑器做一个升级吧!既然是升级版,那么就要做的像Word一点咯!首先我们来看一下我设计的界面吧!
文件(F):
编辑(E):
格式(O):
怎么样,这个界面是不是有点像Word了?图中的小图标下载地址为【小图标】。如果你有兴趣跟我一起做下去,那也把这个界面设计出来吧(顶部的有下拉功能的菜单我们先不管,功能跟中间部分的ToolStrip功能基本是一样的),然后继续看博客吧!
我们从左到右实现中间的ToolStrip栏的功能!
首先我们实现中间ToolStrip栏的第一个按钮(Name为openFileToolStripButton)的功能:打开读取文件内容并把文本内容填充到下面的RichTextBox里面吧!监听其单击事件,代码如下:
定义两个全局变量
private String title = "Untitled"; //保存打开的文件的标题
Encoding ec=Encoding.UTF8; //设置文本的格式为 UTF-8
监听点击事件:
private void openFileToolStripButton_Click(object sender, EventArgs e)
{
/**
* openFileDialog1 是在设计界面拖出来的控件 OpenFileDialog
*
* 主要是打开 rtf 格式的文件
*/
openFileDialog1.Filter = "文本文件|*.txt;*.html;*.docx;*.doc;*.rtf|所有文件|*.*"; //文件打开的过滤器
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
title = openFileDialog1.FileName;
this.Text = title; //显示打开的文件名
richTextBox1.Modified = false;
string ext = title.Substring(title.LastIndexOf(".") + 1);//获取文件格式
ext = ext.ToLower();
FileStream fs = new FileStream(title, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, ec);
if (ext == "rtf") //如果后缀是 rtf 加载文件进来
{