繁体   English   中英

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

[英]How to paste text to RichTextBox as a plain text

如果我复制一些具有不同格式的文本并将其粘贴到我的richtextbox中,这不是简单的意思是我的格式也将被复制。

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

谢谢你的回答

即使将WPF转换为纯文本,也必须使用WinForm RichTextBox (不在UI中,仅在代码中)。 在复制事件中使用此方法。

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/zh-CN/en-en/library/vstudio/cc488002.aspx

我最近有同样的问题。 我确实想保留一些格式,即段落和换行符,但是我需要删除所有其他文本格式。

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

C#代码(WPF):

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM