我只是陷入了某種我無法解決的問題。即使使用BackgroundWorker,我的UI也會凍結。窗體只是凍結線條循環
關於我的老解決的問題:VB.NET - It keep replacing itself
「我有這種格式的文本文件行:
word1|word2|word3
anotherword1|anotherword2
我試圖通過每一個每行每一個字一個分裂該文件和一旦程序檢測到richtextbox是否具有這些單詞中的一個,則將用未分離的行替換該單詞。例如:從word1到word1 | word2 | word3'
一切都很好,但只有當我使用帶有一小組行的文件才能分割時。但我需要立即拆分一個大的。
這是我到目前爲止有:http://pastebin.com/raw/k0MtPHbZ
正如我所說的,一切正常,如果我減少en.txt文件的線條和我有點困惑,爲什麼。如果有人會告訴我如何解決這個問題,我將不勝感激。
UPDATE:
正如你們說看我做了什麼:
Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim list As New List(Of String)()
Using reader As New StreamReader(Application.StartupPath & "\en.txt")
Dim line As String = Nothing
Dim input = RichTextBox1.Text
While (InlineAssignHelper(line, reader.ReadLine())) IsNot Nothing
Dim pat = String.Format("\b({0})\b", line)
input = Regex.Replace(input, pat, line)
End While
RichTextBox2.Text = input
End Using
End Sub
但它仍然是相同的。少量的生產線可以正常工作。用我的500kb文本文件凍結。
郵政代碼,不將碼的鏈接。 'Control.CheckForIllegalCrossThreadCalls = False'不是解決方案。刪除該行並修復錯誤。您正在後臺線程中訪問gui控件。 – LarsTech
爲什麼循環100次。再加上你每次訪問文本文件並加載它 – Claudius
首先,我循環100次以獲取整數值進度條。我從來沒有想過,我現在就會嘗試沒有它。 – Netero