2010-06-08 3 views

Répondre

3

Une option consiste à fractionner le texte sur les sauts de ligne, à modifier le second élément du tableau résultant, puis à le réintégrer dans une chaîne et à définir la propriété Text. Quelque chose comme

string[] array = textBox.Text.Split('\n'); 
array[position] = newText; 
textBox.Text = string.Join('\n', array); 
0

Vous pouvez utiliser l'objet RegEx pour diviser le texte.

Appelez la méthode comme celui-ci ReplaceLine():

private void btnReplaceLine_Click(object sender, RoutedEventArgs e) 
    { 
     string allLines = "This is line 1" + Environment.NewLine + "This is line 2" + Environment.NewLine + "This is line 3"; 
     string newLines = ReplaceLine(allLines, 2, "This is new line 2"); 
    } 

La mise en œuvre de la méthode ReplaceLine():

 private string ReplaceLine(string allLines, int lineNumber, string newLine) 
    { 
     System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(Environment.NewLine); 

     string newLines = ""; 

     string[] lines = reg.Split(allLines); 

     int lineCnt = 0; 
     foreach (string oldLine in lines) 
     { 
      lineCnt++; 

      if (lineCnt == lineNumber) 
      { 
       newLines += newLine; 
      } 
      else 
      { 
       newLines += oldLine; 
      } 

      newLines += lineCnt == lines.Count() ? "" : Environment.NewLine; 
     } 

     return newLines; 
    }