استاذ انه قريب مما هو مطلوب ولن الاغلاق ليس كما هو مطلوب
بل هو ما طلبت :
فلم تذكر التناقص او التراجع ولا يغلق بنفس طريقة الفتح ؟
الآن تم تحقيق طلبك الاخير في المثال المرفق مع الشرح
Option Compare Database
Const i As Double = 4000 'هذا الرقم هو المسؤول عن زيادة ونقص حجم النموذج
Dim x As Boolean 'وسيط نعم/لا متغير كشرط لتشغيل العداد
Private Sub Form_Open(Cancel As Integer)
Me.InsideHeight = 0 ' الارتفاع يساوي صفر عند الفتح
Me.InsideWidth = 0 'العرض = صفر عند الفتح
x = False ' الوسيط=لا عند الفتح
End Sub
Private Sub Form_Timer() ' عداد النموذج وقد جعلنا قيمته عند الحدث = 100
If x = False Then ' اذا كان الوسيط = لا
Call Enlarg ' شغل التكبير
Else ' وإلا
Call Redu ' شغل التصغير
End If
End Sub
Private Sub Enlarg() ' وحدة نمطية تزيد الطول والعرض 100 كل 0.1 من الثانية
If i > Me.InsideHeight Then
Me.InsideHeight = Me.InsideHeight + 100
Me.InsideWidth = Me.InsideWidth + 100
Else
x = True
End If
End Sub
Private Sub Redu() ' وحدة نمطية تنقص الطول والعرض 100 كل 0.1 من الثانية
If Me.InsideHeight > 0 Then
Me.InsideHeight = Me.InsideHeight - 100
Me.InsideWidth = Me.InsideWidth - 100
End If
If Me.InsideHeight < 10 Then ' اذا كان الارتفاع اقل من 10
DoCmd.Close ' اغلق النموذج
DoCmd.OpenForm "frm2", acNormal ' وافتح النموذج رقم2
End If
End Sub
تكبير وتصغير متدرج.rar