You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用Windows Forms中RichTextBox的富文本效果?

禁用WinForms RichTextBox的富文本效果(.NET Framework 4.8)

要让RichTextBox完全只显示纯文本,禁用语法高亮、图片、超链接等所有富文本格式,需要从内容赋值和粘贴拦截两个维度处理:

1. 强制所有内容以纯文本形式加载

无论你是从文件读取内容,还是通过代码设置文本,都只使用Text属性而非Rtf属性。如果需要处理现有的Rtf格式内容,先将其转换为纯文本后再赋值:

// 示例:将Rtf内容转为纯文本后设置
using (var tempRtb = new RichTextBox())
{
    tempRtb.Rtf = existingRtfContent;
    richTextBox1.Text = tempRtb.Text;
}

同时,将RichTextBox的DetectUrls属性设置为false,避免自动将网址转换为富文本超链接。

2. 拦截粘贴操作,强制粘贴纯文本

默认情况下,RichTextBox会保留剪贴板中的富文本格式,需要拦截粘贴行为,只提取纯文本插入:

方法一:自定义RichTextBox子类(推荐)

通过重写WndProc拦截系统粘贴消息,确保所有粘贴操作都只处理纯文本:

public class PlainTextRichTextBox : RichTextBox
{
    private const int WM_PASTE = 0x0302;

    protected override void WndProc(ref Message m)
    {
        if (m.Msg == WM_PASTE)
        {
            string plainText = Clipboard.GetText(TextDataFormat.UnicodeText);
            if (!string.IsNullOrEmpty(plainText))
            {
                SelectedText = plainText;
            }
            return; // 跳过默认粘贴逻辑
        }
        base.WndProc(ref m);
    }

    // 重写Rtf属性,赋值时自动转为纯文本
    public override string Rtf
    {
        get => base.Rtf;
        set
        {
            using (var tempRtb = new RichTextBox())
            {
                tempRtb.Rtf = value;
                Text = tempRtb.Text;
            }
        }
    }
}

之后在窗体设计器中使用这个自定义控件即可,无需额外处理粘贴事件。

方法二:处理KeyDown事件(快速实现)

如果不想自定义控件,可在RichTextBox的KeyDown事件中拦截Ctrl+V快捷键:

private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.V)
    {
        string plainText = Clipboard.GetText(TextDataFormat.UnicodeText);
        if (!string.IsNullOrEmpty(plainText))
        {
            richTextBox1.SelectedText = plainText;
        }
        e.SuppressKeyPress = true; // 阻止默认粘贴行为
    }
}

为什么你之前的代码不生效?

  • 第一段代码richTextBox1.Rtf = ""仅清空当前Rtf内容,但无法阻止后续的富文本输入/粘贴,且如果图片是嵌入在控件中的残留内容,可能无法彻底清除。
  • 第二段代码会优先粘贴Rtf格式内容,不符合你“禁用所有富文本”的需求,只要剪贴板存在Rtf数据,就会保留格式。

内容的提问来源于stack exchange,提问作者Cccccccc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:32:50