2011-09-04 60 views
0

我試圖在richtextbox中更改多個項目。 當我運行我的代碼的唯一項目,多數民衆贊成改變的是第一在富文本框中替換多個項目

try 
      { 
       using (StreamReader reader = new StreamReader(path)) 
       { 
        while (!reader.EndOfStream) 
        { 
         richTextBox1.AppendText(reader.ReadLine()); 
         richTextBox1.Rtf = richTextBox1.Rtf.Replace(textBox1.Text, textBox2.Text); 
        richTextBox1.Rtf = richTextBox1.Rtf.Replace(textBox3.Text, textBox4.Text); 
        richTextBox1.Rtf = richTextBox1.Rtf.Replace(textBox5.Text, textBox6.Text); 

        } 

       } 

       // using (StreamWriter writer = new StreamWriter(path)) 
       // { 

       // } 
      } 
+0

請更好地描述。在第一個附加內容中,您最後從流中添加了一行新的文本。之後,將tb1的所有文本值替換爲tb2的值。這是否也工作?那其他人呢? –

回答

0

我也想用自己的方式循環中的StreamReader不是最佳的,通常它的處理是這樣的:

using (StreamReader sr = new StreamReader("TestFile.txt")) 
    { 
     String line; 
     // Read and display lines from the file until the end of 
     // the file is reached. 
     while ((line = sr.ReadLine()) != null) 
     { 
      Console.WriteLine(line); 
     } 
    } 
+0

我正在編輯的文件是一個HTML文檔(模板),我需要更改模板並將答案保存到不同的文件中。有幾個字段,我需要更改1:名字2:姓氏3:父母名稱,這些值apear多於一次,我無法動態的原因是我想使用Dropbox託管文件,並且dropbox不支持asp.net,php – Mike

+0

沒問題,但這與問題無關。嘗試替換你的流閱讀與剪輯我給你在這裏,適應你的情況,讓我們知道它是否工作:) –

+0

while((line = sr.ReadLine())!= null) { line = line。替換(textBox1.Text,textBox2.Text); line = line.Replace(textBox3.Text,textBox4.Text); line = line.Replace(textBox5.Text,textBox6.Text); Debug.WriteLine(line); }仍然只改變第一個變量 – Mike