C# 如何将文本作为纯文本粘贴到RichTextBox

C# 如何将文本作为纯文本粘贴到RichTextBox,c#,vb.net,richtextbox,C#,Vb.net,Richtextbox,如果我复制了一些不同格式的文本,并将其粘贴到我的richtextbox中,它不是纯文本,我的意思是它的格式也会被复制 我是否可以复制粘贴为纯文本? 顺便说一下,我的程序在WinForm上 感谢您的回答为了将RTF转换为纯文本,您必须在UI中使用WinForm RichTextBox,而不是在代码中使用,即使您使用的是WPF。在复制事件中使用此方法 C代码: private String ConvertRtfToText() { System.Windows.Forms.RichTextB

如果我复制了一些不同格式的文本,并将其粘贴到我的richtextbox中,它不是纯文本,我的意思是它的格式也会被复制

我是否可以复制粘贴为纯文本? 顺便说一下,我的程序在WinForm上

感谢您的回答

为了将RTF转换为纯文本,您必须在UI中使用WinForm RichTextBox,而不是在代码中使用,即使您使用的是WPF。在复制事件中使用此方法

C代码:

private String ConvertRtfToText()
{
    System.Windows.Forms.RichTextBox rtfBox = new System.Windows.Forms.RichTextBox();
    rtfBox.Rtf = this.rtfData;

    return rtfBox.Text;
}
VB.Net代码:

Private Function ConvertRtfToText() As String
    Dim rtfBox As RichTextBox = New RichTextBox()
    rtfBox.Rtf = Me.rtfData
    Return rtfBox.Text
End Function

来源:

我最近也有同样的问题。我确实想保留一些格式,例如段落和换行符,但我要求删除所有添加的文本格式

我在WPF中工作,但RichTextBox界面是相同的。我创建了一个按钮,允许用户选择一些文本并删除格式。这非常简单,您只需要在TextSelection对象上使用ClearAllProperties方法

C代码WPF:

    private void ClearFormat_Click(object sender, RoutedEventArgs e)
    {           
        rtbText.Selection.ClearAllProperties();
    }

这是一个超级简单的解决方案,但可能不是超级优雅

1在表单中添加一个普通文本框并将其隐藏 2创建一个按钮以删除格式设置,也可以执行此操作 粘贴文本时自动执行 3在OnClick或OnPaste代码中,只需从rich 将textbox控件复制到普通textbox控件,然后复制文本 从普通文本框返回富文本框控件,请参见示例 下面


将文本复制并粘贴到记事本,然后从记事本复制并粘贴到richtextbox。那么我想用户不会对这种方式感到满意的。谢谢asnwer。我想问你你说我是什么意思?因为Me是引用表单的,并且没有rtfData方法,这取决于您将代码放在哪里。rtfData是编写代码的类的变量。它是一个表示rtf的字符串。
private void btnRemoveFormatting_Click(object sender, EventArgs e)
{
    txtPlainText.Text = txtRTF.Text;
    txtRTF.Text = "";  // Required - this makes sure all formatting is gone
    txtRTF.Text = txtPlainText.Text;
}