المشاركات : 491
المواضيع 63
الإنتساب : Sep 2013
السمعة :
2
الشكر: 33
تم شكره 272 مرات في 75 مشاركات
السلام عليكم
مطلوب كود لمعرفة الفورمات المفتوحة اي التي جرى لها لود
و كود آخر لمعرفة آخر حالة لكل منها اي هل ال visible = true or false
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
يمكنك استعمال الـ Forms Collection لهذا الغرض. هذا الـ Collection يحتوي على كل الـ Forms التي تم تحميلها - و لم يتم إغلاقها - سواءً أكانت مرئية (Visible = True) أو مخفية (Visible = False). و تلقائياً تتم إضافة و إزالة الـ Forms من هذا الـ Collection عند تحميل أو إغلاق النوافذ.
لجعل الأمر عاماً ضع الدالتين التاليتين في Module:
كود :
' دالة لمعرفة ما إذا تم تحميل نافذة أم لا
Public Function IsFormLoaded(ByVal AFormName As String) As Boolean
Dim AForm As Form
For Each AForm In Forms
If UCase$(AForm.Name) = UCase$(AFormName) Then
IsFormLoaded = True
Exit Function
End If
Next AForm
IsFormLoaded = False
End Function
' دالة لمعرفة ما إذا كانت نافذة مرئية أم لا
Public Function IsFormVisible(ByVal AFormName As String) As Boolean
Dim AForm As Form
For Each AForm In Forms
If UCase$(AForm.Name) = UCase$(AFormName) Then
IsFormVisible = AForm.Visible
Exit Function
End If
Next AForm
IsFormVisible = False
End Function
* الدالتان تحتاجان إلى تمرير اسم الـ Form. الدالة الأولى IsFormLoaded تعيد True إذا كانت النافذة المطلوبة تم تحميلها حتى و إن كانت مخفية (Visible = False). و الدالة الثانية IsFormVisible تعيد True إذا كانت النافذة محملة و مرئية (Visible = True) و إلا فإنها تعيد False (في حالة لم يتم تحميل الـ Form أو تم إخفاؤها باستعمال الوظيفة Hide أو بضبط الخاصية Visible على False).
مثلاً:
كود :
Private Sub Command4_Click()
If IsFormVisible("Form5") Then
MsgBox "Form5 is VISIBLE"
Else
MsgBox "Form5 is NOT VISIBLE"
End If
End Sub
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ