VB.Net RichtextBox Inhalt in Zwischenablage kopieren
Hi,
wenn man im Visual Studion den Inhalt einer VB-Datei (den Quelltext) kopiert, dann kann man diesen sowohl in z.B. Notepad als auch z.B. Wordpad einfügen.
Notepad fügt einfach nur den Text ein, is klar. Wordpad hingegen fügt den Text formatiert ein, incl. Farbe, Schriftart und Texteinrückung.
Das Gleiche würde ich gerne aus einer meiner Anwendungen bereitstellen wollen. Habe dort eine RichttextBox. Deren Inhalt kann ich entweder als Text oder als RTF in die Zwischenablage kopieren.
Kopiere ich als Text, dann gehen die Fromatierungen verloren. Kopiere ich sie als RTF, dann kann ich zwar in Wordpad incl. Formatierungen einfügen, aber im Notepad landet dann sowas wie
\cf2\f0 Beschreibung anpassen ... erfolgreich\par
Wie kann ich den Inhalt (oder die aktuelle Auswahl) der RichtextBox in die Zwischenablage kopieren, sodass ich sie anschließend wahlweise in z.B. Notepad (plain text) oder in z.B. Wordpad (formatierter Text) einfügen kann?
E.
wenn man im Visual Studion den Inhalt einer VB-Datei (den Quelltext) kopiert, dann kann man diesen sowohl in z.B. Notepad als auch z.B. Wordpad einfügen.
Notepad fügt einfach nur den Text ein, is klar. Wordpad hingegen fügt den Text formatiert ein, incl. Farbe, Schriftart und Texteinrückung.
Das Gleiche würde ich gerne aus einer meiner Anwendungen bereitstellen wollen. Habe dort eine RichttextBox. Deren Inhalt kann ich entweder als Text oder als RTF in die Zwischenablage kopieren.
My.Computer.Clipboard.SetText(RichtextBox1.SelectedText)
My.Computer.Clipboard.SetText(RichtextBox1.SelectedRtf, TextDataFormat.Rtf) '--> kann man NICHT in Notepad einfügen
My.Computer.Clipboard.SetText(RichtextBox1.SelectedRtf, TextDataFormat.Text) '--> kann man zwar in Notepad einfügen aber s.u. Format
Kopiere ich als Text, dann gehen die Fromatierungen verloren. Kopiere ich sie als RTF, dann kann ich zwar in Wordpad incl. Formatierungen einfügen, aber im Notepad landet dann sowas wie
\cf2\f0 Beschreibung anpassen ... erfolgreich\par
Wie kann ich den Inhalt (oder die aktuelle Auswahl) der RichtextBox in die Zwischenablage kopieren, sodass ich sie anschließend wahlweise in z.B. Notepad (plain text) oder in z.B. Wordpad (formatierter Text) einfügen kann?
E.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 295775
Url: https://administrator.de/forum/vb-net-richtextbox-inhalt-in-zwischenablage-kopieren-295775.html
Ausgedruckt am: 12.04.2025 um 11:04 Uhr
2 Kommentare
Neuester Kommentar
Hallo Emeriks,
dazu musst du die Daten als DataObject mit mehreren Formaten bereitsstellen und dann das DataObject in die Zwischenablage kopieren:
Dann kann sich die Zielanwendung jenes Format rauspicken, welches sie beim Einfügevorgang bevorzugt.
Grüße Uwe
dazu musst du die Daten als DataObject mit mehreren Formaten bereitsstellen und dann das DataObject in die Zwischenablage kopieren:
Dim dObject As New DataObject
With dObject
'Daten in RTF im DataObject bereitsstellen
.SetData(DataFormats.Rtf, False, RichTextBox1.Rtf)
'Daten in Textformat im DataObject bereitsstellen
.SetData(DataFormats.UnicodeText, False, RichTextBox1.Text)
End With
'Dataobject in die Zwischenablage kopieren
Clipboard.SetDataObject(dObject)
Grüße Uwe