تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
معرفة الفورمات المفتوحة
#1
السلام عليكم

مطلوب كود لمعرفة الفورمات المفتوحة اي التي جرى لها لود

و كود آخر لمعرفة آخر حالة لكل منها اي هل ال visible = true or false
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم

- فيه طريقة سهلة ، إستخدمها ، قم بتعريف متغير عام لكل فورم والتعريف يكون في الموديل بهذا الشكل :-

كود :
Public Is_Form1_Visible As Boolean

- ثم ضع هذا السطر في حدث اللود للفورم1 :-

كود :
Is_Form1_Visible = True
- وضع هذا السطر في حدث الأنلود للفورم1 :-

كود :
Is_Form1_Visible = False

- وهكذا ستعرف عندما تكون الفورم محمله أو لا وذلك بفحص قيمة المتغير Is_Form1_Visible فإن كانت قيمتة True يعني الفورم محمل وإن كان غير محمل تكون قيمته False .

- تحياتي .
الرد }}}
تم الشكر بواسطة:
#3
مشكور اخي على الاجابة
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم...

يمكنك استعمال الـ 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

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم