2014-03-28 85 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