2010-10-31 10 views
3

J'ai recherché autour de sur le net mais je ne peux pas trouver une méthode de copier/couper/coller le texte sélectionné d'un RichTextBox.Copier le texte sélectionné de RichTextBox

Même MSDN n'a pas de réponse. Le code qu'ils fournissent ne fonctionne pas: Copy() ne semble fonctionner que sur TextBoxes, pas RichTextBoxes.

+2

Ce qui RichTextBox tu parles? Windows Forms ou WPF? –

+0

Quel exemple ne fonctionne pas? Lien s'il vous plaît! –

+0

C'est une application Windows Form C#. La fonction copy() est sur MSDN: http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.copy.aspx –

Répondre

5

Si vous utilisez .NET 3.0 et au-dessus, vous pouvez toujours utiliser Clipboard.SetText()

Je l'ai trouvé utile d'utiliser le Presse-papiers quand je veux tout le RichTextbox sans avoir à sélectionner tout d'abord ou quand je dois changer la chaîne:

string text = "Summary:" + Environment.NewLine + this.richTextBoxSummary.Text; 
Clipboard.SetText(text); 
7

si je copie cette méthode:

Clipboard.SetText(richTextBox1.SelectedRtf, TextDataFormat.Rtf); 

je ne peux pas coller agenda

si je copie cette méthode:

Clipboard.SetText(richTextBox1.SelectedText, TextDataFormat.UnicodeText); 

il travaille dans Word et bloc-notes, mais inserts en mot sans formating

richTextBox1.Copy(); 

travaillant dans Word et bloc-notes, mais je ne peux pas modifier la valeur de chaîne . Comment puis-je copier une chaîne formatée normalement dans le Presse-papiers?

P.S. J'ai trouvé

DataObject dto = new DataObject(); 
dto.SetText(mesrtf, TextDataFormat.Rtf); 
dto.SetText(mes, TextDataFormat.UnicodeText); 
Clipboard.Clear(); 
Clipboard.SetDataObject(dto); 

cela fonctionne

-2

dans WPF juste

richTextBox1.Copy(); 

richTextBox1.Paste(); 
+0

Cette question est taguée WinForms, pas WPF. –

-1

richTextBox1.SelectAll();

richTextBox1.Copy();

/*

sélectionne tous les txt dans la boîte et conserve le formatage quand u collez-le à nouveau dans le bloc-notes

*/

Questions connexes