2017-09-08 4 views
-3

Comment ajouter de nouvelles lignes à richTextBox?Impossible d'imprimer des multilignes dans WindowsForm RichTextBox

+0

'richtextbox.MultiLine = true'? et dans la partie supérieure, vous continuez à remplacer le texte '+ =' (ajout) au lieu de '=' (écrasement) – EpicKip

+0

Trop de choses ne sont pas claires ici. Que voulez-vous dire par impression? Vous voulez simplement afficher le texte dans la zone riche ou vous parlez de l'impression sur une imprimante? Où obtenez-vous cette variable _lines_? Combien de lignes y a-t-il? – Steve

+0

En ajoutant à ce que dit @Steve, votre problème dans le titre semble être très différent des 2 questions que vous posez mais cela pourrait être moi – EpicKip

Répondre

0

mais RichTextbox juste ne rien imprimer

vous écrasez en fait à chaque nouvelle déclaration, le texte intégral de votre RichTextBox.

Comment puis-je imprimer richTextBox1 dans la boucle foreach?

Vous pouvez utiliser plutôt la méthode AppendText à la ligne écrire par ligne:

richTextBox1.AppendText("------------------------------" + Environment.NewLine); 
richTextBox1.AppendText("  ----Decrypt #----" + Environment.NewLine); 
richTextBox1.AppendText("------------------------------" + Environment.NewLine); 

foreach (string line in lines) 
{ 
    string t = Decipher(line, key); 
    // Use a tab to indent each line of the file. 
    richTextBox1.AppendText("\t" + t + Environment.NewLine); 
} 

ps Si vous avez vraiment pas de texte du tout à la fin, il semble que votre méthode Decipher retourne soit un espace ou une chaîne vide.

+0

Merci! Cela aide beaucoup, a réussi à faire fonctionner les codes maintenant – Firzanah

0

Vous pouvez Join lignes en un seul String, quelque chose comme ceci:

private void richTextBox1_TextChanged(object sender, EventArgs e) { 
    if (clickedButton3.Enabled) { 
     richTextBox1.Text = 
     "------------------------------\n" + 
     "  ----Decrypt #----\n" + 
     "------------------------------\n\n" + 
      string.Join("\t", lines.Select(line => Decipher(line, key))); 
    } 
    } 

Comme vous pouvez le voir, nous ne voulons pas foreach mais Linq et Join which'll faire boucle pour nous.