Вам нужно перенести работу обратно на интерфейс пользователя; к счастью, это просто:
this.Invoke((MethodInvoker) delegate {
this.textBox1.Text = sb.ToString();
});
Здесь используются функции "анонимного метода" и "захваченных переменных" в C # для выполнения всех тяжелых работ. В .NET 3.5 вы можете предпочесть использовать Action
, но это не имеет большого значения:
this.Invoke((Action) delegate {
this.textBox1.Text = sb.ToString();
});