astvt
Messages postés45Date d'inscriptiondimanche 6 novembre 2005StatutMembreDernière intervention 2 août 2018
-
27 janv. 2008 à 18:03
astvt
Messages postés45Date d'inscriptiondimanche 6 novembre 2005StatutMembreDernière intervention 2 août 2018
-
31 janv. 2008 à 17:08
Bonjour à tous,
Dans mon programme j'utilise une TextBoxe définie en multilignes.
Au fur et à mesure du déroulement de mon programme, j'affiche dans ma TextBoxe des informations comme suite:
Le problème est que malgrés les \r\n, j'affiche les données sur la première ligne de la TextBoxe alors que je devrais les affichées les une sous les autres.
1ère ligne
2ème ligne
....
10ème ligne.
J'ai essayé de mettre les \r\n à la fin de ma ligne derrière "donnee" (ex: + donnee + "\r\n";) mais rien n'y fait.
Quelqu'un a t il une idée?
Merci pour votre aide.
astvt
Messages postés45Date d'inscriptiondimanche 6 novembre 2005StatutMembreDernière intervention 2 août 2018 28 janv. 2008 à 17:52
Bonjour,
Mon problème n'est pas résolu. Que je mette dans mon string affiche les commandes \r\n, cela ne change rien.
Si je ne mets pas \r\n en fin de string, je devrais écrire chaque ligne à la queue leuleu. Là non, systématiquement, à chaque fois que j'écris mon string par:
this.textbox1.text = affiche, le contenu du string s'affiche sur la première ligne.
Il semble qu'un retour charriot soit généré automatiquement et qu'il n'y a pas de mise à jour sur le nombre de ligne. Comme si il n'y avait qu'une ligne dans ma textbox alors qu'elle est définie en multilignes.
En VB2005 je faisait la même chose mais pour inserrer un RC, NL je fais:
this.textbox1.text &= VBCRLF
Quelqu'un a t il une idée? J'ai vérifié les propriétés de ma textbox mais je ne vois pas ce qui coince.
Merci pour votre aide.
astvt
Messages postés45Date d'inscriptiondimanche 6 novembre 2005StatutMembreDernière intervention 2 août 2018 29 janv. 2008 à 16:21
Bonjour Bidou,
j'ai essaiyé ta suggestion, elle fonctionne. J'ai bien Lign 1 sur la ligne 1 et Lign 2 sur la ligne 2.
Je me suis peut être mal exprimé, mon problème est que je crée des strings différent. Sur la ligne 1 j'affiche un premier string contenu dans une variable "affiche" que j'envois à ma textbox par this.textbox1.text affiche; Mon programme continue et je crée un nouveau string dans ma variable "affiche" et je l'envois à ma textbox toujours par this.textbox1.text affiche;. Seulement à ce moment, mon second string vient s'afficher dans ma textbox sur la ligne 1. Ce que je voudrais s'est que le second, le troisième string etc.. s'affichent les uns en dessous des autres. Exemple:
ligne 1 toto <- mon premier string.
ligne 2 titi <- mon deuxième strings.
......
ligne 20 dfgh <- mon vingtième strings.
A tu une idée?
"\r\n" ne fonctionne pas à la fin de chaque string. Si \r\n est dans un string alors le string est affiché sur deux lignes, mais ce n'est pas ce que je désire faire.
Dans ton exemple si j'ai bien compris tu formates un string composé de Lign 1 et de Lign 2 que tu coupes en deux par {0} et que tu affiches sur deux lignes.
Mois ce que je veux s'est que chaque string s'affiche les uns en dessous des autres comme dans l'exemple.
astvt
Messages postés45Date d'inscriptiondimanche 6 novembre 2005StatutMembreDernière intervention 2 août 2018 30 janv. 2008 à 09:46
Bonjour, peut être que la property Lines pourrais régler le problème, je n'ai pas essayé.
Ce qui est curieus, en VB avec les mêmes définition cela fonctionne. Si tu veux regarder sur le site VB, VB.NET de CodeS-SourceS, j'avais posé la même question et un dévelopeur m'avait fourni un truc qui fonctionne en VB2005.
Je faisais Me.textBox1.Text = affiche puis Me.textBox1.Text &= vbcrlf et là lorsque j'écris à nouveau dans ma textbox le nouveau string contenu dans affiche, s'imprime sous la ligne déjà écrite.
Si tu voeux bien regarder sur le site VB avec mon alias tu devrais trouver ma question de l'époque. Peut être cela t'éclairera sur ce que je désire faire.
astvt
Messages postés45Date d'inscriptiondimanche 6 novembre 2005StatutMembreDernière intervention 2 août 2018 30 janv. 2008 à 18:21
Merci pour ta réponse. Maintenant exist-il un équivalent en C# de la commande vbCrLf ??? J'ai essayé de faire:
this.textBox1.Text = affiche;
this.textBox1.Text += "\r\n"; mais cela ne fonctionne pas. Je pense que le string "\r\n" ne fonction qu'à l'interieur d'un string et non à la fin.
Si dans un string j'ai "toto \r\n titi" j'aurai toto sur une ligne et titi en dessous. Là effectivement \r\n fonctionne. Donc il doit y avoir en C# un équivalent à vbCrLf.
Peut être le connaît tu? Moi je n'est pas trouvé dans la doc que je possède.
astvt
Messages postés45Date d'inscriptiondimanche 6 novembre 2005StatutMembreDernière intervention 2 août 2018 30 janv. 2008 à 18:35
Je viens de revoir mon programme CA FONCTIONNE. C'est moi qui m...ais.
En faisant this.textBox1.Text += affiche; pui
this.textBox1.Text += "\r\n"; a chaque fois que je veux afficher un string cela fonctionne. J'avais oublier de le faire sur tous les this.textBox1.Text. Il faut un += si non cela ne fonctionne pas.
Mon problème est régler.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 30 janv. 2008 à 20:10
Niveau performance, ça doit pas être le pied ton histoire... Regarde du côté du RichTextBox et de sa méthode Append ou alors de StringBuilder (System.Text)
astvt
Messages postés45Date d'inscriptiondimanche 6 novembre 2005StatutMembreDernière intervention 2 août 2018 31 janv. 2008 à 17:08
Bonjour Bidou
Je te remerci pour tes conseilles, mon problème est réglé et il fonctionne comme je souhaitais. A chaque fois que j'affiche dans ma zone de texte, les messages s'affichent les uns en dessous des autres. Je n'avais pas bien compris le système d'affichage. Avec this.textBox1.Text += affiche + "\r\n"; ca marche. Il faut mettre à chaque instruction this.textBox1.Text "+=" et non pas "=" pour ajouter les caractères de retour à la ligne et nouvelle ligne.