2012-04-26 73 views
-1

我正在使用列表框來顯示選定文本文件中的文本。我已經將它從列表框中刪除,但我不知道如何從文本文件中刪除同一行,以便在重新打開對話框時不會再次顯示它。任何幫助?我正在使用Streamwriter和StreamReader。如果需要,我也可以使用TeamView。從VB08中的文本文件中刪除一行

回答

0

最簡單的方法是使用列表框的內容重新編寫文件。你沒有指定從文本文件到列表框的任何映射,所以我不能給出更多的細節。

2

最簡單並且在大多數情況下最好的方法是覆蓋整個文件。所以你想刪除所有不在ListBox的行?

Dim resultLines = From line In IO.File.ReadAllLines(path) 
      Join item In lb.Items On item.ToString Equals line 
      Select line 
IO.File.WriteAllLines(path, resultLines) 

這從文件中讀取所有行,並在ListBox未刪除的項目加入他們。結果行被寫回到文件中。

+0

我試着用你寫的代碼,但它給我錯誤的「加入項目」部分。我認爲我可以將列表框中的項目設置爲文本框的文本,然後讓它清空文本文件並記下文本框中的內容,但是我無法將項目設置爲文本。我一直在使用 – 2012-04-29 22:11:23

+0

textboxx2.text試圖= listbox1.text 但沒有 – 2012-04-29 22:11:56

+0

@ZackSaysVoteRonPaul:** _errors_你什麼**是否使用的是.NET framework版本?爲什麼你想要不必要的額外步驟與文本框?無論如何,['ListBox.Text'](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.listbox.text.aspx)返回當前選定項目的文本屬性,而不是所有項目。 – 2012-04-29 22:18:55