Приховування і відображення форм, MS Office, Програмні керівництва, статті

 

Іноді розробники не закривають форму, а просто приховують її для того, щоб в будь-який момент часу вона могла знову миттєво (без затримок) відобразитися на екрані. Програма, в якій форми відображаються миттєво і виглядає для користувача переважно.


Бажано відключати промальовування екрану, для того щоб усунути хоч невелике, але все ж небажане мерехтіння. Тільки прослідкуйте, щоб промальовування екрану включалася, навіть якщо в процедурі сталася помилка (в перехоплювачі).


Якщо форма не відкрита (не завантажена), а ми намагаємося її показати, виникне помилка, тому бажано користуватися перевіркою (If IsLoaded (“Форма2”) Then …):


“Процедура викликається з модуля форми Форма1


Private Sub Кнопка4_Click ()


“Відключаємо промальовування екрану
DoCmd.Echo False


“Виділяємо форму Форма2 і приховуємо її
DoCmd.SelectObject acForm, “Форма2”
DoCmd.RunCommand acCmdWindowHide


“Можна і просто RunCommand acCmdWindowHide


“Включаємо промальовування екрану
DoCmd.Echo True
End Sub


“Покажемо приховану форму Форма2


Private Sub Кнопка5_Click ()


“Відключаємо промальовування екрану
DoCmd.Echo False


“Показуємо приховану Форма2
DoCmd.SelectObject acForm, “Форма2”


“Повернемо фокус на форму Форма1, тобто назад
Me.SetFocus


“Включаємо промальовування екрану
DoCmd.Echo True
End Sub


Список прихованих форм також можна відобразити, вибравши команду Вікно -> Показати.


втім, ніяких обмежень немає, можна приховувати і поточну форму, тобто саму себе:


“Процедура викликається з модуля форми Форма1


Private Sub Кнопка4_Click ()


“Відключаємо промальовування екрану
DoCmd.Echo False


“Просто виконуємо код – поточна форма сховається прямо з під мишки 😉
DoCmd.RunCommand acCmdWindowHide


“Включаємо промальовування екрану
DoCmd.Echo True
End Sub


звичайно, непогано було б ще і спочатку відкривати форму в прихованому режимі


Private Sub Form_Open(Cancel As Integer)


“При відкритті основної форми відразу в прихованому режимі відкриваємо допоміжну форму Форма1
DoCmd.OpenForm (“Форма1”),,,,, acHidden
End Sub

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*