منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
معرفة الفورمات المفتوحة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94)
+--- قسم : قسم Visual Basic 6 وما قبله (http://vb4arb.com/vb/forumdisplay.php?fid=167)
+--- الموضوع : معرفة الفورمات المفتوحة (/showthread.php?tid=9662)



معرفة الفورمات المفتوحة - asto - 18-07-13

السلام عليكم

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

و كود آخر لمعرفة آخر حالة لكل منها اي هل ال visible = true or false


معرفة الفورمات المفتوحة - VB_Coder - 19-07-13

السلام عليكم

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

كود :
Public Is_Form1_Visible As Boolean

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

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

كود :
Is_Form1_Visible = False

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

- تحياتي .


معرفة الفورمات المفتوحة - asto - 20-07-13

مشكور اخي على الاجابة


معرفة الفورمات المفتوحة - ناجي إبراهيم - 20-07-13

السلام عليكم...

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

نرجو الاستفادة و السلام.