欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 【C#】RichTextBox基本用法和高级用法及示例

【C#】RichTextBox基本用法和高级用法及示例

2025/5/10 14:42:44 来源:https://blog.csdn.net/weixin_44939430/article/details/144443306  浏览:    关键词:【C#】RichTextBox基本用法和高级用法及示例

在 Windows Forms 应用程序中,RichTextBox 是一个非常强大的控件,可以用来处理多行文本输入和输出。与普通的 TextBox 不同,RichTextBox 支持富文本格式,比如字体样式、颜色和对齐方式。


基本用法

  1. 拖放控件

    • 在 Visual Studio 中,打开你的 Windows Forms Designer。
    • 从工具箱中找到 RichTextBox,拖放到你的窗体中。
  2. 常见属性

    • Text:设置或获取控件中的文本内容。
    • ReadOnly:是否为只读模式。
    • Multiline:是否允许多行文本(默认就是 true)。
    • ScrollBars:控制滚动条显示(例如RichTextBoxScrollBars.Vertical)。
  3. 代码示例

// 添加文本到 RichTextBox
richTextBox1.Text = "Hello, this is a RichTextBox example!";// 追加文本
richTextBox1.AppendText("\nAppending some more text...");// 设置为只读
richTextBox1.ReadOnly = true;// 获取内容
string currentText = richTextBox1.Text;
MessageBox.Show(currentText);

高级用法

  1. 富文本格式
    • 通过 SelectionFontSelectionColorSelectionAlignment 等属性,可以对选定的文本进行格式化。
// 设置选中文本的字体
richTextBox1.SelectionFont = new Font("Arial", 12, FontStyle.Bold);// 设置选中文本的颜色
richTextBox1.SelectionColor = Color.Red;// 设置选中文本的对齐方式
richTextBox1.SelectionAlignment = HorizontalAlignment.Center;
  1. 加载和保存文件
    • RichTextBox 支持加载和保存 .txt.rtf 格式文件。
// 保存到 RTF 文件
richTextBox1.SaveFile("example.rtf", RichTextBoxStreamType.RichText);// 加载 RTF 文件
richTextBox1.LoadFile("example.rtf", RichTextBoxStreamType.RichText);// 保存到纯文本文件
richTextBox1.SaveFile("example.txt", RichTextBoxStreamType.PlainText);
  1. 处理事件
    • 监听用户输入或操作。
private void richTextBox1_TextChanged(object sender, EventArgs e)
{MessageBox.Show("Text changed!");
}
  1. 插入图片
    • RichTextBox 中可以通过 Clipboard 来插入图片。
// 将图片加载到剪贴板
Image img = Image.FromFile("example.jpg");
Clipboard.SetImage(img);// 将图片插入到 RichTextBox
richTextBox1.Paste();

** 示例1**

下面是一个完整的例子,包括文本操作、格式化和文件保存。

using System;
using System.Drawing;
using System.Windows.Forms;public class RichTextBoxExample : Form
{private RichTextBox richTextBox1;private Button btnSave, btnLoad, btnFormat;public RichTextBoxExample(){this.Text = "RichTextBox 示例";this.Size = new Size(500, 400);// 初始化 RichTextBoxrichTextBox1 = new RichTextBox();richTextBox1.Dock = DockStyle.Top;richTextBox1.Height = 200;// 保存按钮btnSave = new Button();btnSave.Text = "保存文本";btnSave.Click += (s, e) =>{richTextBox1.SaveFile("example.rtf", RichTextBoxStreamType.RichText);MessageBox.Show("文本已保存!");};// 加载按钮btnLoad = new Button();btnLoad.Text = "加载文本";btnLoad.Click += (s, e) =>{richTextBox1.LoadFile("example.rtf", RichTextBoxStreamType.RichText);MessageBox.Show("文本已加载!");};// 格式化按钮btnFormat = new Button();btnFormat.Text = "设置格式";btnFormat.Click += (s, e) =>{richTextBox1.SelectionFont = new Font("Comic Sans MS", 14, FontStyle.Italic);richTextBox1.SelectionColor = Color.Blue;};// 布局var panel = new FlowLayoutPanel();panel.Dock = DockStyle.Bottom;panel.Height = 50;panel.Controls.Add(btnSave);panel.Controls.Add(btnLoad);panel.Controls.Add(btnFormat);// 添加控件到窗体this.Controls.Add(richTextBox1);this.Controls.Add(panel);}[STAThread]public static void Main(){Application.Run(new RichTextBoxExample());}
}

小结

RichTextBox 是一个功能强大的控件,适用于需要处理多格式文本的应用场景,例如文档编辑器、聊天界面等。根据需求可以灵活设置格式,甚至支持图文混排。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词