2012-11-30 87 views
0

我有一個列表框,顯示文本文件中的行。我怎麼可能讓這個我可以對一個項目從列表框中單擊,然後從列表框和文本文件中刪除從文本文件中刪除選定的索引

private void Read() 
    { 
     string filePath = @"//Filepath"; 

     List<String> listOfDels = viewlist.listDeliveries(); 

     using (var streamReader = new StreamReader(filePath, Encoding.Default)) 
     { 
      while (!streamReader.EndOfStream) 
      { 
       listOfDels.Add(streamReader.ReadLine()); 
       listBox1.Items.Clear(); 

       listBox1.Items.AddRange(listOfDels.ToArray()); 
      } 
     } 
    } 

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { //Remove line from txt file 
    } 
+0

你爲什麼要清除'每次讀取一行時Items'? –

+0

更新它,當我添加更多項目 – user1353517

+0

我認爲你正在做一些可怕的錯誤。您將數據添加到列表中,然後立即清除列表 - 很多次。將Clear和AddRange調用移到while循環外部。 –

回答

1
string tempFile = Path.GetTempFileName(); 

using(var sr = new StreamReader("file.txt")) 
{ 
using(var sw = new StreamWriter(tempFile)) 
{ 
    string line; 

    while((line = sr.ReadLine()) != null) 
    { 
     if(line != "removeme") 
      sw.WriteLine(line); 
    } 
} 
} 

File.Delete("file.txt"); 
File.Move(tempFile, "file.txt"); 
+0

這不會返回錯誤,但它也不會執行任何操作:S – user1353517