| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Медленая загрузка формы |
| Автор: ZMaximI 19.1.2010, 00:00 |
| Доброе время суток, всем ! Есть проблемка - у меня форма соделжит несколько изображений в виде бекграундов разных компонентом, втом числе и самой формы. Так вот при загрузке вормы видно, как прогрузаются все компоненты по очереди ... Очень некрасиво. Подскажите, пожалуйста, как сделать, чтобы показывать форму уже со всем готовым, а сам процесс создания компонентов скрыть ? Спасибо. |
| Автор: explorer 19.1.2010, 09:38 | ||||||
Скрой её в конструкторе:
А в обработчике события OnLoad() сделай обратное:
Если компилятор будет ругаться на FormWindowState, добавь в начало файла
|
| Автор: Exai1e 19.1.2010, 11:36 |
| попробуй двойную буферизацию вкл/откл (на форме) |
| Автор: ZMaximI 19.1.2010, 13:21 |
| explorer, Exai1e, не помогает ни первый вариант, ни второй ((( |
| Автор: Экскалупатор 19.1.2010, 14:24 |
| ZMaximI, можешь выложить проект? |
| Автор: ZMaximI 20.1.2010, 16:22 |
| Вроде стало понятно "мигание" - при растягивании формы на весь экран, фоновые изображения помигивают ... Теперь мне непонятно другое - почему при закрытии модального окна мигает окно-владелец данного модального окна ??? Еще есть вопрос ко всем - скажите, пожалуйста, что лучше (ПРАВИЛЬНЕЕ) создавать и добавлять компоненты на форму вручную или использовать дизайнер студии ? |
| Автор: ZMaximI 20.1.2010, 16:45 | ||
это можно как-то избежать ? |
| Автор: Экскалупатор 21.1.2010, 00:29 |
| ZMaximI, я думаю если переопределить OnPaint то можно заставить его не перерисовывать форму(правда я не совсем уверен). но тогда могут возникнуть проблемы, как то: может не прорисовываться часть формы после закрытия дочернего окна. |
| Автор: ZMaximI 21.1.2010, 12:22 | ||
Спасибо за совет. Я решил проблему - буду использовать не ShowDialog(), а Show() + плавное увеличение Opacity уже после формирования окна, возникают некоторые неудобства, но зато нет проблем с перерисовкой. |