2014-03-03 111 views
0

如果我複製某些具有不同格式的文本並將其粘貼到我的RichTextBox中,它不是普通的,我的意思是它的格式也將被複制。如何將文本以純文本的形式粘貼到RichTextBox

無論如何,我可以複製粘貼爲純文本? 通過

感謝您的回答

+1

複製和粘貼文本到記事本,然後從記事本複製並粘貼到您的RichTextBox。 –

+2

然後我猜用戶會不高興這種方式 – EmPlusPlus

回答

5

必須使用的WinForm RichTextBox我的計劃是在WinForm的方式(而不是在用戶界面,只需在代碼中),即使你是在WPF,以RTF格式轉換爲純文本。在您的複製事件中使用此方法。

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

+0

感謝您的意見。我想問你你是什麼意思?因爲我參考的形式,並沒有rtfData方法 – EmPlusPlus

+0

這取決於你把代碼放在哪裏。 rtfData是您編寫代碼的類的變量。它是代表rtf的字符串。 – Xaruth

1

最近我有同樣的問題。我確實想保留一些格式,即段落和換行符,但我需要刪除所有添加的文本格式。

我正在WPF工作,但RichTextBox界面是一樣的。我創建了一個按鈕,允許用戶選擇一些文本並刪除格式。這很簡單,你只需要在TextSelection對象上使用ClearAllProperties()方法。

C#代碼(WPF):

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