Retour chariot dans un messageBox [Résolu]

Signaler
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
-
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
Bonjour,

Je souhaiterai afficher un MessageBox de plusieurs ligne.
Je sais que le retour chariot se fait par \n\r, si je fais MessageBox.Show("Hello\n\rWorld"); ca affichera Hello et Word sur deux lignes.

Par contre, la valeur à afficher provient d'un textBox.

Si je rempli le textBox par la chaine "Helo\n\rWorld" (sans ls guillemet bien sur) alors MessageBox.Show(textBox.Text); m'affiche sur une seule ligne la chaine "Helo\n\rWorld" (sans ls guillemet bien sur).

Savez vous comment je peux forcer l'affichage sur plusieur ligne dans un MessageBox à partir de la valeur d'un textBox?

(dans mon  cas particulier ca provient d'un fichier xml).

Merci de votre aide

f.colo

6 réponses

Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
5
C'est simple, tout les \kkchose que tu tape dans ton textbos sont garder en texte brut.

Essai ceci:
MessageBox.Show(textBox.Text.Replace("\\n","\n").Replace("\\r","\r");

Je ne trouve pas de manière idéale pour t'expliquer le tout, je vais essayer un truc:

Ce que je fait remplace la chaine composé "\n" composé de 2 caractère: '\' et 'n' par un seul caractère '\n'. Lorsque tu écrit dans le code la valeur \n, elle est considérée comme un seul caractère, alors que dans le textbox, il prendra cela comme une chaine composé de 2 caractères.

Enfin je ne sens pas que je suis clair, mais bon, je tenterai d'expliquer differemment si tu ne comprends pas

Eric
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
Passe par String.Format (c'est bon vieux printf amélioré) :
MessageBox.Show(String.Format("Hello\nWorld"));

code dans mon appli :
string.Format("{0} \n{1}", param1, param2);
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
Oups, j'avais pas tout lu et je viens de faire un test.
J'ai pas ton pb, MessageBox.Show(textBox.Text); s'affiche bien sur 2 lignes.
Je suis avec VS2003.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
32
C'est \r\n pas \n\r.
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
2
Merci,

effectivement ricklekebekoi, je comprend mieux pourquoi ca ne fonctionnait pas.
Avec les deuc méthodes Lutinore ca fait la même chose, mais autant bien le faire ... donc je vais mettre \r\n ^^

f.colo
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
32
Pas tout à fait fcolo, si tu écris "\r\n" dans un textbox tu auras un saut de ligne ce qui n'est pas vrai avec "\n\r". Mais bon c'est vrai que toi ton problème était au niveau de la MessgeBox en faite. ^^