Ожидание Mainthread при продолжении обработки в пользовательском интерфейсе - PullRequest
0 голосов
/ 19 февраля 2010

При работе с консольными приложениями Console.Readline прекращает обработку пользовательского интерфейса из основного потока и продолжается только при возникновении события, такого как нажатие кнопки ввода. Как мне воспроизвести эту функциональность (с формой окна в качестве пользовательского интерфейса в данном случае) в приложении формы Windows?

Ответы [ 3 ]

2 голосов
/ 19 февраля 2010

Вы не можете сделать это напрямую.

Однако вы можете сделать это, позвонив Invoke, как я описал здесь .

1 голос
/ 19 февраля 2010

Используйте form.ShowDialog () вместо form.Show ()

Это не остановит поток, но остановит пользователя от других действий в пользовательском интерфейсе до закрытия окна.

0 голосов
/ 26 февраля 2010

Теперь, когда вы объяснили, что вы хотите сделать ...

Было бы лучше использовать BackgroundWorker , поддерживать графический интерфейс активным, но отключенным и отображать индикатор выполнения + кнопку отмены, пока не будет сделано.

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