C#, диалоговое окно "подождите" и фоновая работа при этом.
От: Михаил Орлов  
Дата: 28.05.03 18:30
Оценка:
Цель: при обработке большого количества файлов показывать диалоговое окно с надписью "подождите...", не дающее юзеру доступа к основному окну программы.
Метод реализации: Форма-диалог в конструкторе принимает делегат. Сама запускается так:
Form p = new FrmNotify(<делегат>);
p.ShowDialog(this);
p.Dispose();

Внутри себя запускает делегат и потом делает Hide(); при реакции на событие о Visibility change (!). Все остальные события, кажется, не то. При этом всё появляется и работает, но диалог не является диалогом, если можно так сказать . При выборе в таскбаре кнопки основного окна его заголовок становится как у активного, а у диалога — "серым", неактивным. (а должен просто мигать заголовок диалога). При этом кнопки основного окна на нажатия не реагируют (DoEvents() вызывается работающей функцией постоянно). Как-то практически очевидно , что проблема в методе вызова делегата из диалога.
Вопрос: Как действительно реализовывать подобное?

23.12.03 16:46: Перенесено модератором из '.NET' — AVK
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.