Приложение Windows "(не отвечает)", но в конечном итоге завершает работу
Я написал очень простое приложение, чтобы прочитать текстовый файл, а затем обработать его соответствующим образом.
Во время чтения большого файла пользователь не получает никакой обратной связи о том, что приложение действительно все еще работает.
Я заполняю список, поэтому я заставляю ListBox.Refresh() каждые 2000 строк во время чтения. Это прекрасно работает, пока мое приложение имеет фокус, но для больших файлов мои пользователи будут делать на компьютере другие вещи, которые отвлекают внимание от приложения.
Как я могу заставить Windows продолжать обновлять приложение в фоновом режиме?
Вот основной код чтения...ничего особенного:
this.Cursor = Cursors.WaitCursor; lbOriginalFile.Items.Clear(); string strStreamLine = ""; int nPosition = 0; int nLineCount = 0; if (System.IO.File.Exists(GCodeFilePath) == true) { using (System.IO.StreamReader sr = new System.IO.StreamReader(GCodeFilePath)) { strStreamLine = sr.ReadLine(); while (strStreamLine != null) { nLineCount++; lbOriginalFile.Items.Add(strStreamLine); lblCount.Text = nLineCount.ToString(); lbOriginalFile.Refresh(); lblCount.Refresh(); strStreamLine = sr.ReadLine(); } nListBoxArray[nPosition] = nPosition; } } this.Cursor = Cursors.Default;
Что я уже пробовал:
Приведенный выше код показывает попытку обновить счетчик и обновить элементы управления.