Access 2002

Способ закрытия формы


К счастью, это можно сделать, не проверяя, нажал ли пользователь одну из названных клавиш. Не забудьте только предусмотреть для пользователя другой способ закрытия формы (например, с помощью специальной командной кнопки). Решить задачу можно, выполнив такие действия:

1.   Отключите стандартную кнопку закрытия формы — кнопку с крестиком в правом верхнем углу. Для этого свойству CloseButton присвойте значение No. (Если хотите, можете присвоить значение No и свойству Control Box.)

2.   В области объявлений модуля формы определите общедоступную (Public) логическую переменную (в данном примере — OKToClose):

Public OKToClose As Boolean

3.   В процедуре обработки события формы Open или Load присвойте переменной.

4.   В процедуре обработки события Click кнопки, предназначенной для закрытия вашей формы, присвойте переменной OKToClose значение True и вызовите метод Close объекта DoCmd (инициирующий событие формы Unload).

Private Sub cmdClose_Click()

OKToClose – True DoCmd.Close End Sub

5.   В процедуре обработки события формы Unload проверьте значение переменной OKToClose. Если значение переменной равно False, параметру Cancel присвойте значение Тrue, запрещая тем самым закрытие формы.

Private Sub Fortn_Unload(Cancel As Integer)

Cancel – Not OKToClose End Sub

Это все, что необходимо сделать. До тех пор пока пользователь не нажмет вашу кнопку, форма не закроется. Описанный метод используется в форме frm- CloseTest из базы данных CH07.MDB, так что вы можете увидеть его в действии. Код модуля этой формы приведен  7.1.

Комментарии закрыты