Скрытие и отображение формИсточник: Accessboom
Иногда разработчики не закрывают форму, а просто скрывают ее для того, чтобы в любой момент времени она могла снова мгновенно (без задержек) отобразиться на экране. Программа, в которой формы отображаются мгновенно и выглядит для пользователя предпочтительнее. Желательно отключать прорисовку экрана, для того чтобы устранить хоть небольшое, но все же нежелательное мерцание. Только проследите, чтобы прорисовка экрана включалась, даже если в процедуре произошла ошибка (в перехватчике). Если форма не открыта (не загружена), а мы пытаемся ее показать, возникнет ошибка, поэтому желательно пользоваться проверкой (If IsLoaded("Форма2") Then ...): ' Процедура вызывается из модуля формы Форма1 Private Sub Кнопка4_Click() ' отключаем прорисовку экрана ' выделяем форму Форма2 и скрываем ее ' можно и просто RunCommand acCmdWindowHide ' включаем прорисовку экрана ' покажем скрытую форму Форма2 Private Sub Кнопка5_Click() ' отключаем прорисовку экрана ' показываем скрытую Форма2 ' вернем фокус на форму Форма1, т.е. обратно ' включаем прорисовку экрана Список скрытых форм также можно отобразить, выбрав команду Окно -> Отобразить. впрочем, никаких ограничений нет, можно скрывать и текущую форму, т.е. саму себя: ' Процедура вызывается из модуля формы Форма1 Private Sub Кнопка4_Click() ' отключаем прорисовку экрана ' просто выполняем код - текущая форма скроется прямо из под мышки ;) ' включаем прорисовку экрана конечно, неплохо было бы еще и первоначально открывать форму в скрытом режиме Private Sub Form_Open(Cancel As Integer) ' при открытии основной формы сразу в скрытом режиме открываем вспомогательную форму Форма1 |