Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με rtf και richTextBox σε c#

Îåêßíçóå áðü ôï ìÝëïò lyros. Τελευταία δημοσίευση από το μέλος Johnnyxp64 στις 30-09-2008, 11:48. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  10-09-2008, 13:30 44577

    Πρόβλημα με rtf και richTextBox σε c#

    Γειά σας, έχω πάλι κάποιο πρόβλημα με rtf σε richTextBox. Μέχρι τώρα αντιγράφω σε ένα string (πχ controlCodeStr) το control code από ένα rtf αρχείο (πχ {\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard), στη συνέχεια το κείμενο που χρειάζομαι απο το αρχείο αυτό (πχ \f0This is some {\b bold} text.\par) σε ένα άλλο string πχ rtfTextStr και τέλος συνδιάζω σε άλλο string, wholeRtfText, τα 2 προηγούμενα για να έχω ολόκληρο το κείμενο που χρειάζομαι και το φορτώνω σε ένα richTextBox,αυτό το κάνω για να φορτώνω συγκεκριμένες μόνο γραμμές από το rtf αρχείο...

    Τέλος πάντων το πρόβλημα το έχω στο richTextBox. Μόλις φορτώνω τo string (myRichTextBox.Rtf = wholeRtfText), παρατηρώ ότι το richTextBox προσαρμόζει το control code. Δεν αλλοιώνει βέβαια το κείμενο, όμως σε περίππτωση που ο χρήστης κάνει κάποια αλλαγή στο font ή στο color και χρειαστεί να σωθούν οι αλλαγές αυτές , το fontTable του αρχείου είναι διαφορετικό από το fontTable της σελίδας που έχω φορτώσει στο richTextBox.

    Πιο συγκεκριμένα, αν το control code του αρχείου, δηλ το περιεχόμενο της controlCodeStr, περιέχει κώδικα για 5 fontStyles στο font Table πχ

    ({\f0\fnil\fcharset161 Microsoft Sans Serif;}{\f1\fnil\fcharset0 Tahoma;}{\f2\fnil\fcharset0 Arial;}{\f3\fnil\fcharset0 Arial Black;}{\f4\fnil\fcharset0 Arial Narrow;}),

    και το κείμενο (rtfTextStr), χρεισιμοποιεί τις 3 από αυτές, οι υπόλοιπες 2 δεν περιλαμβάνονται καθόλου στο control code που παράγει το richTextBox πχ

    ({\f0\fnil\fcharset0 Tahoma;}{\f1\fnil\fcharset0 Arial Black;}{\f2\fnil\fcharset0 Arial Narrow;}.

    Ελπίζω να είναι κατανοητό το πρόβλημά μου, όπως το περιγράφω.

    Υπάρχει τρόπος που να μην επιτρέπω στο richTextBox να κάνει αυτή την προσαρμογή στον κώδικα, ή κάποιος άλλος τρόπος να που να μπορώ να ελέγξω τις αλλαγές αυτές ώστε κατά το updating του αρχείου να μην έχω τέτοιου είδους λάθη?

    Ευχαριστώ πολύ!


    panos
  •  30-09-2008, 11:48 44989 σε απάντηση της 44577

    Απ: Πρόβλημα με rtf και richTextBox σε c#

    xmmm νομιζω καταλαβα τι κανεις, ειχαμε προσπαθησει κατι αναλογο στην δουλεια μου παλια,και ειχαμε τετια θεματα, το richtextbox ειχε περιορισμους και τελικα καταφυγαμε σε 3ου κατασκευαστη richtextbox component, επιδει δεν το εφτιαχνα εγω αλλα αλλος συναδελφος νομιζω οτι ηταν της dev express ενα παρομοιο control που μας βολεψε τελικα χωρις πολες πατεντες.

    δεν θελω να σε παρω στο λαιμο μου αλλα αν μπορεις να βαλεις component κοιτα λιγο στην σουιτα dev express 8.4.2.

    αλλιος μονο με word component θα παιξεις!
    αν κανεις reference το word και το δουλεψει καθαρα object oriented, ειναι ο καλητερος editor. δοκιμασε εσυ αποφασιζεις. το word πατνος αντιλαμβανεται rtf kai σωζει rtf.

    δεν ξερω αν μπορεις να παιξεις με το wordpad το ιδιο...αν γινεται θα ειναι ελαφρητερο απο το word.

    τελος αν δεν θες τιποτα απο τα παραπανω και μενεις σε richtextbox ισως πριν καθε edit που κανεις να κανεις κατι σαν find - replace αυτο που παει να γραψει το RTB με την μορφη που το θες εσυ....
    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems