RichTextBox Ajout plusieurs lignes en RTF (question de débutant?)

Résolu
dbigand Messages postés 13 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 26 novembre 2005 - 28 mai 2005 à 14:38
dbigand Messages postés 13 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 26 novembre 2005 - 30 mai 2005 à 16:50
Bonjour,
Après pas mal de temps sur les forums internet, je n'ai pas trouvé reponse à ma question (de débutant) .
Le code en VB.net

Dim texte1 As String
Dim texte2
As String






texte1 = "{\rtf1\ansi Ce texte est en \b gras . \b0}"

texte2 = "{ \rtf1\ansi Ce texte est aussi en \b gras .\b0}"


RichTextBox1.Rtf = Texte1
RichTextBox1.Rtf = Texte2

J'affiche texte2 mais Texte1 est supprimé.
Comment faire pour afficher les deux textes en "rtf".

RichTextBox1.AppendText (Texte2) fonctionne mais le texte n'est plus en "rtf".

D'avance merci.


Dbigand

7 réponses

cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
28 mai 2005 à 18:44
Salut,
Sincèrement je ne saisis pas ce que tu veux faire. Car, que tu passes par du RTF ou en "standard", les 2 solutions peuvent marcher, masi la solutions "standard" reste néanmoins la meilleure méthode pour insérer du texte formaté. En exemple (qui, je l'espère fonctionne) :
With RichTextBox1
.SelectionStart = Len(.Rtf) 'facultatif
.SelectionFont = New Font("Arial", 10, FontStyle.Bold)
.SelectionColor = Color.FromName("Black")
.AppendText("Le texte est en gras, de couleur noir , de taille 10 en police Arial")
.AppendText(controlchars.CrLf)
.SelectionStart = Len(.Rtf)
.SelectionFont = New Font("Arial", 12, FontStyle.Regular)
.SelectionColor = Color.FromName("Red")
.AppendText("Le texte est normal, de couleur rouge , de taille 12 en police Arial")
.AppendText(controlchars.CrLf)

End
With


- Pour ton problème de :
RichTextBox1.Rtf = Texte1
RichTextBox1.Rtf = Texte2
c'est normal car tu remplaces tout ton ancien bloc rtf existant par le nouveau et donc ton ancien texte est supprimé pour afficher le nouveau, il aurait été plutôt souhaitable de faire :
RichTextBox1.Rtf = Texte1 & Controlchars.crlf
RichTextBox1.Rtf += Texte2 & Controlchars.crlf
- ou ... (ce qui devrait revenir au même) :
RichTextBox1.Rtf = Texte1 & Controlchars.crlf
RichTextBox1.Rtf = RichTextBox1.Rtf & Texte2 & Controlchars.crlf

En espérant avoir eclaircis certains points.

Bonne prog, [mailto:liquide_vaisselle_76@hotmail.fr liquide_vaisselle_76@hotmail.fr]
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals , moi le 1er&n
3
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
30 mai 2005 à 02:42
Ho ho Liquide, je sens bien là que tu me vises
clairement!!! Mais je t'en prie, t'énerve pas et reste zen! Chacun à le
droit de fournir son explication s'il en ressent le besoin!!! Y'a pas
de mal à ça... Et je dirais même que les forums sont fait pour ça! De
plus, à mon sens, plus il y a de réponses, plus, justement, ça pourra
convenir à tous les lecteurs potentiels du post!



Bien sûr que ta solution est bonne et que tu l'as expliquée... Je
dirais même qu'elle est la meilleur! Je n'ai pas cherché et ne cherche
pas à te faire concurrence ou à faire concurrence à qui que ce soit!!!
D'ailleurs, la concurrence en la matière serait une chose stupide!!!
Mais moi je pense beaucoup aux newbies (comprennez "débutants") à qui
il faut souvent tout expliquer... Et je trouves que, justement, sur les
posts de VBF, ça manque parfois cruellement de pédagogie et que, comme
tu dis, beaucoup se contente de jeter leur code tel quel... Alors
parfois ça suffit et parfois non... Tout dépend du niveau du posteur...
Je m'excuse, sur ce coup, de ne pas avoir fournit plus
d'explications... Mais je pensais que, justement, tu en avais déjà
assez donné... Je voulais juste faire un petit complément au cas où,
justement, notre ami Dbigand soit un débutant, pour qu'il comprenne
mieux ton "+=" qui n'est pas forcément à la porté de tout le monde!
Alors oui, en effet, c'est clair qu'il vaut mieux faire :



RichTextBox1.Rtf += Texte1

RichTextBox1.Rtf += Texte2



que :



RichTextBox1.Rtf = Texte1
RichTextBox1.Rtf = RichTextBox1.Rtf & Texte2
RichTextBox1.Rtf = RichTextBox1.Rtf & Texte3



Car c'est plus propre et plus pragmatique... Mais faut bien comprendre
le concept soujascent!!! C'est un peu comme FOR/NEXT que l'on peut
faire, à la base, avec des LABEL/IF/GOTO...



Bref, c'était juste pour expliquer comment ça fonctionne et non pour te
contredir Liquide ! Et je tiens donc à souligner que ma technique, même
si elle peut être appliquée tel quel, n'est de loin pas la meilleur.



Alors excuse moi si je t'ai vexé...



Amicalement



ScSami
3
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
28 mai 2005 à 18:46
Ah mince Désolé, sur la fin, je me suis trompé car j'etais encore persuadé de rester encore dans la programmation standard. Donc les controlchars.crlf, peuvent s'enlever.
RichTextBox1.Rtf = Texte1
RichTextBox1.Rtf += Texte2

Bonne prog, [mailto:liquide_vaisselle_76@hotmail.fr liquide_vaisselle_76@hotmail.fr]
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals , moi le 1er&n
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
29 mai 2005 à 00:50
En fait, pour être plus clair, il faut ajouter ton texte... :




RichTextBox1.Rtf = Texte1
RichTextBox1.Rtf = RichTextBox1.Rtf & Texte2


RichTextBox1.Rtf = RichTextBox1.Rtf & Texte3

...



C'est une technique classique qui fontionne autant pour les RTF que
pour les TxtBox classiques!!! On s'en sert également pour séparer
visuellement un grand texte à afficher (p.e. dans un MsgBox) pour ne
pas trop pourrir le code d'appel...



Enjoy



(Si une réponse vous convient, cliquez sur le bouton "Accepter la réponse"...)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
29 mai 2005 à 07:40
Abon je n'ai pas été clair !!!!!, bin merde .... moi je donne des explications, n'est ce pas la preuve d'une clareté, plutot que de balancer du code et dire apres .. dermerde toi !!!!
Par ailleur je vais meme plus loin afin que tout ce qui serait amené a lire (et donc a eviter de reposter pour a peu pres la meme chose) ces posts.
Y'en a ... on croirait qu'ils postent uniquement pour le plaisir de dire qu'ils font mieux que tout le monde !!

Bonne prog, [mailto:liquide_vaisselle_76@hotmail.fr liquide_vaisselle_76@hotmail.fr]
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals , moi le 1er&n
0
dbigand Messages postés 13 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 26 novembre 2005
29 mai 2005 à 11:27
Désolé d'une réponse si tardive mais j'ai un problème avec mon e-mail.
C'est tout à fait clair maintenant et en fait toutes les réponses sont Acceptées.

Merci encore.


Dbigand
0
dbigand Messages postés 13 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 26 novembre 2005
30 mai 2005 à 16:50
Je suis désolé d'être un peu le responsable de cette discussion, j'aurai peut-être dû réagir au premier append de "liquide" mais j'ai vraiment eu un problème avec mon e-mail qui était "bloqué" et je n'ai pas été averti qu'une réponse avait été faite.
Je n'ai été averti que le lendemain, mon e-mail s'étant "débloqué" et j'ai eu toutes les réponses d'un seul coup.


Pour être franc, plongé dans mon problème et dans l'analyse des réponses détaillées et correctes, je ne me suis pas aperçu qu'il y avait 2 personnes qui avaient répondu.
Comme j'ai accepté la réponse de liquide, j'accepte aussi les compléments faits par ScSami (je ne sais pas si 2 réponses pour une même question va passer dans le système???)

Dans tous les cas, débutant ou non, cet outil est vraiment super :
--> d'abord on passe du temps pour voir si on peut trouver la réponse à sa question sur le web et on tombe bien sur sur les forums.
--> Puis si on a rien, on pose sa question, c'est la troisième fois que celà m'arrive et 2 fois sur 3 j'ai eu la solution : C'est donc un exellent outil.

Merci, Merci beaucoup aux plus expérimentés qui partage leur savoir.

Dbigand
0
Rejoignez-nous