Здравствуйте, Danj, Вы писали:
D>Здравствуйте, Paulmay, Вы писали:
>>>Вообщем такой вопрос. Модальное окно должно отображаться пока идет например перемещение файлов, после этого скрыться. Работать должно примерно так
>>>StartWindow(); //Запускаем окно
>>>StartMove(); //Функция переноса
>>>StopWindow(); //Закрытие окна
>>>Пытаюсь отобразить окно в другом потоке, но оно почему-то не отображается и сразу переходит к переносу, после переноса все нормально закрывается. Как лучше сделать чтобы это окно отображалось? Оно должно быть модальное.
P>>Если отображать окно в другом потоке, то в этом другом потоке должен быть вызван Application.Run. Но, наверное, лучше использовать другой метод — выводить окно в главном потоке, а StartMove() запускать асинхронно.
D>Я бы посоветовал по нажатию какой либо кнопки запустить рабочий (асинхронный) поток и:
D>1) Ассинхронно открыть модальное окно
D>2) Выполнить длительную операцию
D>3) Закрыть модальное окно
P>>
данное сообщение получено с www.gotdotnet.ru
P>>ссылка на оригинальное сообщение
Вот именно. Я так и хочу сделать, но не получается. Если запускаем модальное окно так ShowDialog(this), (чтобы родителем было основное окно), тогда длительная операция начинается, а окна нет! Если просто ShowDialog, тогда запускается, но не блокирует доступ к другим окнам (где длительная операция) и кроме splash'a у остальных окон с прорисовкой проблемы.