Вызов метода с синхронными вычислениями, который не мешает перерисовке - PullRequest
1 голос
/ 28 апреля 2009

Новичок C # /. NET вопрос о потоке здесь:

Возможно ли иметь синхронный (если это правильный термин) метод, который не возвращается, пока не завершит некоторые вычисления, но в то же время не мешает приложению перерисовываться или переходить к "Не отвечает" .

Я полагаю, что ответ, вероятно, состоит в потоках, но как сделать их частью синхронного (если это все еще правильный термин) вызова метода, а не отправки события по завершении.

Как дополнительное требование, код, к которому я добавляю это, не зависит от Winforms, он предназначен для запуска из консольного приложения или из приложения Winforms.

Спасибо и извините, если это глупый вопрос.

1 Ответ

1 голос
/ 28 апреля 2009

Я предполагаю, что вы хотите заблокировать любой пользовательский ввод во время выполнения вашего метода расчета. Если это так, это можно сделать с помощью класса BackgroundWorker . Установите Enabled свойство вашей формы на false, выполните всю логику вычислений в обработчике DoWork и включите форму в обработчике RunWorkerCompleted.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...