RichTextBox занимает слишком много времени для печати результатов - PullRequest
0 голосов
/ 20 мая 2018

В WinForms у меня есть список с более чем 10000 строками.
Мне нужно напечатать каждую строку в элементе управления RichTextBox, но программа зависает и занимает что-то около 10 минут.Чтобы создать список, программе требуется 3 секунды.

Моя проблема: как я могу напечатать результат, не ожидая так много?

Вот код:

for(int i=0; i < 1000; i++) {
  //(...) add a row
}

foreach (string item in list)
{
    richTextBox1.Text += item + "\r\n";
}

1 Ответ

0 голосов
/ 20 мая 2018

Используйте StringBuilder и присвойте его результат richTextBox1.Text:

  var sb = new StringBuilder();
  foreach (string item in list)
  {
     sb.Append(item + "\r\n");
  }
  richTextBox1.Text += sb.ToString();
...