emeriks
Goto Top

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.

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.

Content-Key: 295775

Url: https://administrator.de/contentid/295775

Ausgedruckt am: 29.03.2024 um 08:03 Uhr

Mitglied: colinardo
Lösung colinardo 10.02.2016 aktualisiert um 15:26:15 Uhr
Goto Top
Hallo Emeriks,
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)
Dann kann sich die Zielanwendung jenes Format rauspicken, welches sie beim Einfügevorgang bevorzugt.

Grüße Uwe
Mitglied: emeriks
emeriks 10.02.2016 um 15:26:11 Uhr
Goto Top
Je nee is klar ...
Danke !!