Retour chariot dans un messageBox [Résolu]

cs_fcolo 201 Messages postés mercredi 8 février 2006Date d'inscription 20 février 2007 Dernière intervention - 11 oct. 2006 à 16:41 - Dernière réponse : Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention
- 12 oct. 2006 à 10:27
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
Afficher la suite 

6 réponses

Répondre au sujet
ricklekebekoi 305 Messages postés mardi 11 février 2003Date d'inscription 24 avril 2009 Dernière intervention - 12 oct. 2006 à 04:35
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ricklekebekoi
fregolo52 1106 Messages postés mercredi 15 juin 2011Date d'inscription 19 juillet 2016 Dernière intervention - 11 oct. 2006 à 17:11
0
Utile
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);
Commenter la réponse de fregolo52
fregolo52 1106 Messages postés mercredi 15 juin 2011Date d'inscription 19 juillet 2016 Dernière intervention - 11 oct. 2006 à 17:18
0
Utile
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.
Commenter la réponse de fregolo52
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 11 oct. 2006 à 17:24
0
Utile
C'est \r\n pas \n\r.
Commenter la réponse de Lutinore
cs_fcolo 201 Messages postés mercredi 8 février 2006Date d'inscription 20 février 2007 Dernière intervention - 12 oct. 2006 à 09:21
0
Utile
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
Commenter la réponse de cs_fcolo
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 12 oct. 2006 à 10:27
0
Utile
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. ^^
Commenter la réponse de Lutinore

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.