Re: C#, диалоговое окно "подождите" и фоновая работа при это
От: mihailik Украина  
Дата: 29.05.03 12:50
Оценка:
МО>Внутри себя запускает делегат и потом делает Hide(); при реакции на событие о Visibility change (!). Все остальные события, кажется, не то.

Ну и путаница! Какое-то Hide, и ещё Visibility change

В твоём случае (обработка файлов) имеет смысл делегат запускать при помощи BeginInvoke в асинхронном режиме. Делать это можно ещё до ShowDialog, например в конструкторе диалога. При завершении асинхронного делегата делай Close диалогу.

В асинхронном режиме не нужны никакие Application.DoEvents, так как обработка идёт в отдельном потоке. Правда, для отображения сообщений о прогрессе придётся немножко манипулировать с Form.Invoke. Потому, что нельзя обращаться к форме или контролам напрямую из другого потока.
... << RSDN@Home 1.0 beta 7a >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.