Некоторая информация о моем вопросе:
У меня есть приложение Windows Forms, которое имеет многопоточный режим, который паралельно вычисляет в течение длительного времени.При вычислении этих потоков изменяются элементы пользовательского интерфейса (например, надписи, TextBoxes, Buttons и т. Д.) И запись в RichTextBox.У меня много делегатов для многопоточных вызовов и проверки InvokeRequired много раз.
У меня много таких методов:
private void AppendText(string text)
{
if(richTextBox.InvokeRequired)
{
Invoke(myDelegate, new object[] { text });
}
else
{
richTextBox.Append(text);
}
}
Мой вопрос:
Это хороший способ изменить элементы управления в потоке пользовательского интерфейса из фоновых потоков или я допустил некоторые архитектурные ошибки?