IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Comment mettre des séquences RTF à la construction d'un string ?


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Points : 29
    Points
    29
    Par défaut Comment mettre des séquences RTF à la construction d'un string ?
    Bonjour,

    J'essaie de construire un string, qui s'affichera avec des parties en gras dans un richTextBox.

    Pour l'affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    MonRTB.RTF = @"{\rtf1\fs18
    {\colortbl ;\red255\green255\blue255;\red0\green0\blue0;}
    ceci est mon texte avec \b\fs26\cf1\highlight2 du gras en  gros et en couleur \cf0\highlight0\b0\fs18 la suite en tout petit
    }";
    marche parfaitement.

    Or, si je construis d'abord mon string dans une autre partie du code avec par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string A_afficher = "ceci est mon texte \b\fs26\cf1\highlight2 du gras en  gros et en couleur \cf0\highlight0\b0\fs18 la suite en tout petit";
    en pensant qu'il suffira de rajouter les entêtes RTF, et mettre un "}" en fin de string, avant affichage dans le RTB, là, badaboum.
    Le compilo refuse d'ingérer les \c et les \h.

    J'ai essayé avec un StringBuilder à la place d'un string : même tonneau.

    Quelqu'un voit-il une solution ?

    Merci d'avance pour votre aide.

  2. #2
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 640
    Points : 2 149
    Points
    2 149
    Par défaut
    Bonjour,

    dans ton premier cas tu utilises un @ devant ton string,ce qui signifie que les \ sont pris en compte tel quel.

    Utilise donc en un pour ta construction de chaîne, et ça ira tout de suite mieux.


    Plus d'informations par ici

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Points : 29
    Points
    29
    Par défaut
    Big merci.

    J'étais en train de me faire hierc avec des bouts de chaines du genre " $b$fs26$cf1$highlight2 ", en remplaçant le $ par un \, juste avant l'affichage ...
    Le genre de manip destroy de chez destroy, quoi ...

    Encore merci pour ton aide.

  4. #4
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Autre possibilité : si tu ne rajoutes pas @ avant ta chaîne de caractères, tu peux doubler les \. Tu échappes ainsi le caractère d'échappement, qui sera donc intégré tel quel.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VS 2005] Comment mettre des pages en relation ?
    Par batosai dans le forum Visual Studio
    Réponses: 6
    Dernier message: 24/04/2006, 17h01
  2. comment mettre des int dans une char??
    Par gronaze dans le forum C
    Réponses: 5
    Dernier message: 21/04/2006, 17h02
  3. Réponses: 10
    Dernier message: 28/03/2006, 15h10
  4. Comment mettre des couleurs a printf ( )
    Par damien42 dans le forum C
    Réponses: 27
    Dernier message: 31/03/2005, 23h10
  5. Comment mettre des lignes de couleur dans une TCheckListBox ?
    Par Isa31 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 31/03/2005, 08h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo