2009-08-19 9 views
6

Ich habe ein Problem beim Einfügen von MS Word-Inhalt in Richtextbox.Kopieren von Ms Word und Einfügen in Rich Textbox Problem

wenn ich Inhalt von Word-Dokument kopieren und in Richtextbox einfügen, die in einer Windows-Anwendung geschrieben in C# ist. die Links werden so angezeigt;

Dies ist Test .. Gehen Sie zu Google.<http://www.google.com>
Mail: Projekt<mailto:[email protected]>

Das Problem kann auch durch Laden in einem gespeicherten RTF-Dokument aus Word erstellt werden kann.

Wie kann ich dies zu korrigieren, bitte helfen ..

Dank im Voraus.

+0

Schwer zu sagen, was hier passiert, seit SO formatiert Ihren Eintrag. Können Sie es mit Backticks (') bearbeiten, damit wir sehen können, was Sie vorhaben? – anschauung

+0

Ich habe das gleiche Problem. Beim Einfügen aus MS Word (2007 und 2003) in eine RTF-Box wird sie nicht korrekt als RTF-URL eingefügt, sondern in dem oben beschriebenen Format. Dies wird nur als Verknüpfung angezeigt, wenn DetectURLs auf True festgelegt ist – John

Antwort

5

Das Problem hier ist, dass Sie RTF tatsächlich nicht in die Zwischenablage von Word kopieren. Nun, irgendwie, aber nicht dasselbe RTF, das nur den formatierten Text anzeigen würde und einen Hyperlink dahinter hätte. Sie müssen das Einfügeereignis verarbeiten und eigene Parsing- und Neuformatierungsprozesse durchführen, um dies zu erreichen.

1

Einige Richtextbox-Editoren verfügen über eine Funktion "Aus Word einfügen". Sie können es in ein einfaches Textfeld einfügen und basierend auf dem Rich-Text-Editor, den Sie verwenden, die Formatierung neu starten.

1

Dieses Verhalten hat nichts mit Word zu tun. Obwohl das RTF, das von MS Word in der Zwischenablage erstellt wurde, sich geringfügig von dem von OpenOffice unterscheidet, sind die Ergebnisse identisch. Siehe Screenshot unten, wo die oberen zwei Links von MS Word und der Rest von OOo 3.2 sind.

alt text.

Es scheint eine Besonderheit in der Zeichnung von Hyperlinks in der Winforms RichTextBox zu sein. Ich sehe keine schnelle Abhilfe, um dieses Verhalten zu ändern.