C#之使用RichTextBox 实现简单的txt编辑器
来源:互联网 发布:淘宝客服月总结怎么写 编辑:程序博客网 时间:2024/05/18 02:21
设计要求
支持文本的简单编辑:
支持更换文字的颜色,大小和字体。
支持简单TXT文件的打开和保存。
支持文字的拷贝,粘贴和撤销等操作。设计
一、设计FileInfo类,保存文本的颜色、大小和字体,包括每一行的信息。
二、…实现
读取RichTextBox的每一行
private void 保存ToolStripMenuItem_Click(object sender, EventArgs e) { //如果文件以及 try { //文件路径 string path = string.Empty; SaveFileDialog save = new SaveFileDialog(); save.Filter = "文本文件(*.txt)|*.txt"; ; if (save.ShowDialog() == DialogResult.OK) path = save.FileName; if (path != string.Empty) { File.Delete(path); StreamWriter sw = new StreamWriter(path, true); for (int i = 0; i < richTextBox1.Lines.Length; i++) { sw.WriteLine(richTextBox1.Lines[i]); } sw.Flush(); sw.Close(); sw.Dispose(); } } catch (Exception ex) { throw ex; } } }
从txt文件中一行行读取,赋予RichTextBox
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); //限定扩展 fileDialog.Filter = "文本文件(*.txt)|*.txt"; fileDialog.Multiselect = true; fileDialog.Title = "请选择文件"; if (fileDialog.ShowDialog() == DialogResult.OK) { string path = fileDialog.FileName; MessageBox.Show("已选择文件:" + path, "选择文件提示", MessageBoxButtons.OK, MessageBoxIcon.Information); FileStream file = File.Open(path, FileMode.Open); StreamReader filestream = new StreamReader(file); String line = ""; int i = 0; while ((line = filestream.ReadLine()) != null) { richTextBox1.Text += line + "\n"; } file.Close(); } }
注意 //判断文件是否存在 if (File.Exists(path)) { DialogResult dr = MessageBox.Show("确认覆盖原文件吗?", "提示", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK) { //删除原文件 File.Delete(path); } else if (dr == DialogResult.Cancel) { return; } }
原来以为这个覆盖判断要自己去实现,但是Windows系统自己实现了。
更改RichTextBox的字体颜色和字体大小
颜色
private void 颜色ToolStripMenuItem_Click_1(object sender, EventArgs e) { colorDialog1.ShowDialog(); richTextBox1.SelectionColor = this.colorDialog1.Color; }
字体和大小
fontDialog1.ShowDialog();richTextBox1.Font = this.fontDialog1.Font;
接下来是我认为最难的撤销操作
将在下一篇博客中详细介绍
0 0
- C#之使用RichTextBox 实现简单的txt编辑器
- C#简单RichTextBox编辑器
- C#中如何将打开的TXT文件读入RichTextBox
- C#基础之RichTextBox
- RichTextBox编辑器之设置文本的Font属性
- C# RichTextBox的使用方法
- C# RichTextBox的使用方法
- c#自带的richtextbox实现动态的gif
- C#简单编辑器之实现撤销和发撤销
- C# RichTextBox 中用栈实现代码的自动缩进
- 《叩响C#之门》RichTextBox修改字体大小的研究
- richtextbox的使用
- RichTextBox的使用问题
- WPF richtextbox的使用
- Linux之vi编辑器的简单使用
- 详解C# RichTextBox的使用方法
- c#中richTextBox的用法
- winform c# richtextbox保存为txt文本文档
- ccf 炉石传说
- PHP基础——Include、require、include_once、require_once区别。
- 个人微信机器人
- LeetCode ---- Find the Difference (Java/Lua 实现)
- Mac上CocosCreator1.2.1打包andoird apk
- C#之使用RichTextBox 实现简单的txt编辑器
- Eclipse 安装最新SVN插件
- Android中子线程真的不能更新UI吗?
- centos6.6 升级mysql到5.5 ,因为默认是5.1
- 第八周 OJ总结<1>-求倒数和【简单循环】
- ubuntu环境下使用G++编译C++
- EventBus3.0——基本使用
- 关闭 mysql 错误 SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column "addres
- /lib64/gcc_s.so.1: file too short解决方案