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

时间:2014-03-03 16:35:10

标签: c# vb.net richtextbox

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

无论如何我可以复制粘贴为纯文本吗? 顺便说一句,我的程序是在WinForm上的

感谢您的回答

3 个答案:

答案 0 :(得分:5)

你必须使用WinForm RichTextBox(不在UI中,只在代码中),即使你在WPF上,也要使用RTF转换为纯文本。在Copy事件中使用此方法。

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

来源:http://msdn.microsoft.com/en-US/en-en/library/vstudio/cc488002.aspx

答案 1 :(得分:1)

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

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

C#代码(WPF):

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

答案 2 :(得分:0)

这是一个非常简单的解决方案,但也许不是超级优雅......

1)在表单中添加纯文本框并将其隐藏为

2)创建一个按钮来删除格式(或者你可以这样做     粘贴文字时自动)

3)在OnClick(或OnPaste)代码中,只需复制富文本中的文本     文本框控件到纯文本框控件然后复制文本     从纯文本框返回到富文本框控件(请参阅示例     下文)

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;
}