تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التحقق من فورم إذا كان موجود
#1
السلام عليكم .اخواني لو سمحتو كيف يمكن عمل كود تحقق من فورم مثلا form1 موجود اصلا بالمشروع ام مو موجود بارك الله فيكم
الرد }}}
تم الشكر بواسطة:
#2
و عليكم السلام

كود :
       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
الرد }}}
تم الشكر بواسطة: محمد خيري , عبد العزيز البسكري
#3
شكرا اخي محمد لكن انا لا اريد اظهار اسم الفورم اريد فحص اذا كان مثلا الفورم1 موجود ام غير موجود
الرد }}}
تم الشكر بواسطة: Mohamad Anan
#4
(30-09-20, 05:50 AM)محمد خيري كتب : شكرا اخي محمد لكن انا لا اريد اظهار اسم الفورم اريد فحص اذا كان مثلا الفورم1 موجود ام غير موجود

عفوا أخي محمد ظهور الاسم يعني ان الفورم موجود
اكتب الكود المطلوب عوضا عن الرسالة في حال تحقق شرط وجود الفورم
الرد }}}
تم الشكر بواسطة:
#5
كود :
If Application.OpenForms().OfType(Of Form2).Any Then
 MessageBox.Show("Opened")
Else
 Dim f2 As New Form2
 f2.Text = "form2"
 f2.Show()
End If


اكيد انت تقصد هل هو مفتوح ام لا
الرد }}}
تم الشكر بواسطة: محمد خيري , عبد العزيز البسكري
#6
شكرا اخي لكن انا ما اقصد مفتوح ام لا اقصد موجود ام لا
اخي محمد عنان لو سمحت الكود لما افتح الفورم لود تظهر لي رسالة خطا
objet reference not set to an instance of an object
الرد }}}
تم الشكر بواسطة:
#7
السّلام عليكم و رحمة الله و بركاته
بعد شكر إخواني الأفاضل ممن سبقوني بالمشاركة
بعد التجربة .. هذا الكود يعمل بطريقة جيدة أخي الكريم
كود :
  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

تحياتي
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: محمد خيري



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


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