2014-03-28 114 views
0

我的C#(ASP.Net)的知識是有限的,我真的很努力地弄清楚這個問題了...將列表框中列出的文本文件內容顯示爲文本框?

我所做的就是創建一個listbox,並與來自路徑d一個.txtxml文件填充它:\測試與驗證碼

 string path = "D:\\test"; 
    files = new DirectoryInfo(path).GetFiles("*.txt", SearchOption.TopDirectoryOnly); //no need to define any parameters 
    for (int i = 0; i < files.Length; i++) 
     ListBox1.Items.Add(Path.GetFileName(files[i].FullName)); 

一旦listbox顯示從目錄中的所有.txt文件,我想選擇一個文本文件,所選文件將顯示一個記事本文件中的內部內容或文字文本框。我在selectedindexchanged事件listbox寫這個代碼,但是當我點擊.txt文件listbox它在文本框中什麼也沒有顯示。 Plz幫助我。謝謝。

string fullNameOfFile = files[ListBox1.SelectedIndex].FullName; 
    StringBuilder sb = new StringBuilder(); 
    using (StreamReader sr = new StreamReader(fullNameOfFile)) 
    { 
     string line; 
     while ((line = sr.ReadLine()) != null) 
     { 
      sb.AppendLine(line); 
     } 
    } 
    TextBox1.Text = "Content of file " + fullNameOfFile + " is:\r\n\"" + sb.ToString(); 
+0

如果你知道文件的完整路徑。然後只是做TextBox1.Text =「文件的內容」+ fullNameOfFile +「是:\ r \ n \」「+ File.ReadAllLines(fullNameOfFile); – Ehsan

回答

0

使用File.ReadAllLines方法。用一行代替所有的代碼。

TextBox1.Text = "Content of file " + fullNameOfFile + " is:\r\n\"" + File.ReadAllLines(fullNameOfFile); 
+0

感謝您的回覆!我嘗試過但不工作,當我選擇任何.txt文件在列表框中,它在文本框中不顯示任何東西。 – user3471218

+0

任何人都可以爲我提供上述解決方案。 – user3471218