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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : التحقق من فورم إذا كان موجود (/showthread.php?tid=36568)



التحقق من فورم إذا كان موجود - محمد خيري - 30-09-20

السلام عليكم .اخواني لو سمحتو كيف يمكن عمل كود تحقق من فورم مثلا form1 موجود اصلا بالمشروع ام مو موجود بارك الله فيكم


RE: التحقق من فورم إذا كان موجود - Mohamad Anan - 30-09-20

و عليكم السلام

كود :
       Dim myAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
       Dim types As Type() = myAssembly.GetTypes()
       For Each t As Type In types
           If UCase(t.BaseType.ToString) = "SYSTEM.WINDOWS.FORMS.FORM" Then
               If t.Name = "Form1" Then
                   MessageBox.Show(t.Name)
                   Exit For
               End If
           End If
       Next



RE: التحقق من فورم إذا كان موجود - محمد خيري - 30-09-20

شكرا اخي محمد لكن انا لا اريد اظهار اسم الفورم اريد فحص اذا كان مثلا الفورم1 موجود ام غير موجود


RE: التحقق من فورم إذا كان موجود - Mohamad Anan - 30-09-20

(30-09-20, 05:50 AM)محمد خيري كتب : شكرا اخي محمد لكن انا لا اريد اظهار اسم الفورم اريد فحص اذا كان مثلا الفورم1 موجود ام غير موجود

عفوا أخي محمد ظهور الاسم يعني ان الفورم موجود
اكتب الكود المطلوب عوضا عن الرسالة في حال تحقق شرط وجود الفورم


RE: التحقق من فورم إذا كان موجود - ابو محمد محمد محمد - 30-09-20

كود :
If Application.OpenForms().OfType(Of Form2).Any Then
 MessageBox.Show("Opened")
Else
 Dim f2 As New Form2
 f2.Text = "form2"
 f2.Show()
End If


اكيد انت تقصد هل هو مفتوح ام لا


RE: التحقق من فورم إذا كان موجود - محمد خيري - 30-09-20

شكرا اخي لكن انا ما اقصد مفتوح ام لا اقصد موجود ام لا
اخي محمد عنان لو سمحت الكود لما افتح الفورم لود تظهر لي رسالة خطا
objet reference not set to an instance of an object


RE: التحقق من فورم إذا كان موجود - عبد العزيز البسكري - 02-10-20

السّلام عليكم و رحمة الله و بركاته
بعد شكر إخواني الأفاضل ممن سبقوني بالمشاركة
بعد التجربة .. هذا الكود يعمل بطريقة جيدة أخي الكريم
كود :
  Public Function Get_Name_Form(ByVal Form_Name As String) As Form
       Try
           Dim Frm_Type = Reflection.Assembly.GetEntryAssembly.GetExportedTypes.FirstOrDefault(Function(x) x.Name = Form_Name)
           Dim Return_Form = TryCast(Activator.CreateInstance(Frm_Type), Form)
           Return TryCast(Return_Form, Form)
       Catch ex As Exception
           Return Nothing
       End Try
   End Function

بالفورم لود ..
كود :
   Dim MyForm = Get_Name_Form("Form1")
       If MyForm IsNot Nothing Then
           MessageBox.Show("الفورم 1 موجود")
       Else
           MessageBox.Show("الفورم 1 غير موجود")
       End If

تحياتي