C# RichTextBox富文本框的用法(非常详细,附带实例)
RichTextBox 目前没有统一的中文翻译,但是可以翻译为富文本框,其图标如下所示:
RichTextBox 是加强功能的文本框(TextBox),默认就是用于执行简单的文件编辑,所以内部有比较多的编辑功能,一般双击此图标,就可以在窗体内创建此控件,然后可以依需要拖曳控件四周来更改 RictTextBox 的大小。
也可以用下列程序代码设定:
【实例】RichTextBox 的基础应用,每当选择了文字时,会用下方的 TextBox 显示选择的文字。
建议读者可以不断按 a,观察 RichTextBox 的变化。下方左图中 ch_10.sln 属性使用默认,可以看到当超出 RichTextBox 范围时,出现垂直滚动条。下方中间图是 ch10_1.sln 执行初的界面,有灰色的垂直滚动条,主要是增加指令将 ScrollBars 属性设为 ForcedVertical 时的界面,下列是程序代码的设定:
将 sse.gif 图片加载至 RichTextBox 中,然后编辑文字:

RichTextBox 是加强功能的文本框(TextBox),默认就是用于执行简单的文件编辑,所以内部有比较多的编辑功能,一般双击此图标,就可以在窗体内创建此控件,然后可以依需要拖曳控件四周来更改 RictTextBox 的大小。
C# RichTextBox常用属性
RichTextBox 的许多属性和 TextBox 的相同,和其他控件一样可以在属性窗口设定,或是使用程序代码设定。下列是其不同于 TextBox 的常用属性。1) Dock
默认属性是 None,表示不占满窗体的空间,如果设为 Fill,则表示占满窗体空间,特别是设计文件编辑程序时,可以如此设定。可以用属性窗口方式设定,如右图所示。
也可以用下列程序代码设定:
richTextBox1.Dock = DockStyle.Fill;
2) MultiLine
默认是 true,表示可以编辑多行文件。3) ScrollBars
取得或是设定一个值,值表示 RichTextBox 要显示的滚动条类型,有下列 7 种选项:- Both:默认,文字超出宽度时才会显示水平或是垂直滚动条;
- None:不显示滚动条;
- Horizontal:显示水平滚动条;
- Vertical:显示垂直滚动条;
- ForcedHorizontal:在 WordWrap 属性是 false 时,一律显示水平滚动条,如果文字未超过滚动条宽度,则此滚动条是暗灰色;
- ForcedVertical:一律显示垂直滚动条,如果文字未超过滚动条高度时,则此滚动条是暗灰色;
- ForcedBoth:在 WordWrap 属性是 false 时,一律显示垂直/水平滚动条,否则只显示垂直滚动条。如果文字未超过滚动条的宽度和高度,则此滚动条是暗灰色。
4) SelectionBackColor
取得或是设定一个值,表示目前选择的文字或是插入点的背景色彩。5) SelectionBullet
取得或是设定一个值,表示样式符号是否套用目前选择的文字或是插入点。6) SelectionColor
取得或是设定一个值,表示目前选择的文字或是插入点的颜色。7) SelectionFont
取得或是设定一个值,表示目前选择的文字或是插入点的字体。8) SelectionLength
取得或是设定一个值,表示目前选择的文字的字符数。9) WordWrap
可以设定是否自动换行,默认是true,表示在不使用水平滚动条时,如果文字超出该行范围就会自动换行。如果是false,则不会自动换行,文字会向右卷动。C# RichTextBox常用方法
RichTextBox 控件常用方法如下:- Clear():清除 RichTextBox 的内容;
- Copy():复制功能,可以将目前选取的文字复制到剪贴簿;
- Cut():剪切功能,可以将目前选取的文字剪切下来,然后复制到剪贴簿;
- Find():搜寻功能;
- Paste():将剪贴板的内容复制到目前插入点位置;
- Redo():重做上次编辑动作;
- SelectAll():选取全部 RichTextBox 的内容;
- Undo():取消上次编辑动作。
C#读取和保存文件
这里所谓的读取文件也可以称为下载文件,方法如下:- LoadFile():下载(*.txt)、Unicode 纯文件或是 (*.rtf) 文件。
- SaveFile():用(*.txt)、Unicode 纯文件或是 (*.rtf) 格式保存文件。
-
LoadFile(filename, filetype) 和 SaveFile(filename, filetype) 方法的语法相同,这两个方法第 1 个参数是文件名称,这个比较容易了解。第 2 个参数则可以是下列 3 种:
- RichTextBoxStreamType.PlainText:这是 txt 的文本文件;
- RichTextBoxStreamType. UnicodePlainText:这是 Unicode 编码的文本文件;
- RichTextBoxStreamType.RichText:这是 txt 的文本文件。
C# SelectionChanged事件
当选择的内容更改时,会产生 SelectionChanged 事件。【实例】RichTextBox 的基础应用,每当选择了文字时,会用下方的 TextBox 显示选择的文字。
namespace ch { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void richTextBox1_SelectionChanged(object sender, EventArgs e) { textBox1.Text = richTextBox1.SelectedText; } } }执行结果为:

建议读者可以不断按 a,观察 RichTextBox 的变化。下方左图中 ch_10.sln 属性使用默认,可以看到当超出 RichTextBox 范围时,出现垂直滚动条。下方中间图是 ch10_1.sln 执行初的界面,有灰色的垂直滚动条,主要是增加指令将 ScrollBars 属性设为 ForcedVertical 时的界面,下列是程序代码的设定:
richTextBox1.ScrollBars = RichTextBoxScrollBars.ForcedVertical;下方右图是不断按 a 的结果:

C# RichTextBox控件实例
RichTextBox 也可以编辑图文并茂的文件,可以先将图片加载至 Clipboard 剪贴板中,然后贴入 RichTextBox,语法如下:Clipboard.Clear(); // 清除剪贴板 Bitmap figure = new Bitmap("figure file"); // 创建图片对象 Clipboard.SetImage(figure); // 图片加载剪贴板 richTextBox1.Paste(); // 粘贴
将 sse.gif 图片加载至 RichTextBox 中,然后编辑文字:
namespace ch { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_click(object sender, EventArgs e) { Clipboard.Clear(); // 清除剪贴板 Bitmap figure = new Bitmap("sse.gif"); // 建立图片对象 Clipboard.SetImage(figure); // 加载对象到剪贴板 richTextBox1.Paste(); // 剪贴板对象粘贴 } } }执行结果为:
