Хорошо, это звучит как
- В главном окне пользователь начинает длинную операцию
- Отображается модальное окно прогресса
- Операция завершает закрытиеокно прогресса
- Ваше главное окно не отображается сразу.Вместо этого что-то позади него просвечивает на секунду или меньше.
- Ваше главное окно завершает свою операцию перерисовки и становится видимым на 100%.
- Это происходит чаще, когда у вас запущены такие приложения, как Skype.
Если это так, есть много разных возможных причин.Например, в ваших видеодрайверах может быть ошибка, приводящая к задержкам компоновки за пределами экрана при определенных условиях.
В настоящее время сама система может даже блокировать работу процессора.Это может быть вызвано тем, что вашему коду требуется время, чтобы закрыть диалоговое окно и вернуться к основной форме.Вы могли бы посмотреть, не делаете ли вы что-нибудь еще между закрытием процесса и возвратом пользовательского элемента управления обратно.
Возможно, система просто ограничена в памяти, а ваша операция вызывает огромный обмендиск.Когда операция завершится, Windows может быть уведомлена о том, что ей нужно извлечь ранее замененную память с диска и вставить ее обратно в ОЗУ, что приведет к задержке.
Я бы запустил приложение с Ничего еще загружен, но диспетчер задач или монитор ресурсов и посмотреть, что происходит.Если проблема больше не возникает, подумайте о том, чтобы добавить больше оперативной памяти на ваш компьютер и / или игнорировать ее.
Если это все еще происходит, и использование вашей памяти почти ничего не оставляет, тогда, снова, добавьте ОЗУ или игнорируйте.
Если это все еще происходит, но использование памяти низкое, исследуйте ваш код, чтобы увидеть, чтовы делаете между закрытием диалогового окна и передачей управления основным окном обратно пользователю.