30-09-20, 01:58 AM
30-09-20, 04:15 AM
و عليكم السلام
كود :
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
Next30-09-20, 05:50 AM
شكرا اخي محمد لكن انا لا اريد اظهار اسم الفورم اريد فحص اذا كان مثلا الفورم1 موجود ام غير موجود
30-09-20, 05:57 AM
(30-09-20, 05:50 AM)محمد خيري كتب : [ -> ]شكرا اخي محمد لكن انا لا اريد اظهار اسم الفورم اريد فحص اذا كان مثلا الفورم1 موجود ام غير موجود
عفوا أخي محمد ظهور الاسم يعني ان الفورم موجود
اكتب الكود المطلوب عوضا عن الرسالة في حال تحقق شرط وجود الفورم
30-09-20, 12:19 PM
كود :
If Application.OpenForms().OfType(Of Form2).Any Then
MessageBox.Show("Opened")
Else
Dim f2 As New Form2
f2.Text = "form2"
f2.Show()
End Ifاكيد انت تقصد هل هو مفتوح ام لا
30-09-20, 01:09 PM
شكرا اخي لكن انا ما اقصد مفتوح ام لا اقصد موجود ام لا
اخي محمد عنان لو سمحت الكود لما افتح الفورم لود تظهر لي رسالة خطا
objet reference not set to an instance of an object
اخي محمد عنان لو سمحت الكود لما افتح الفورم لود تظهر لي رسالة خطا
objet reference not set to an instance of an object
02-10-20, 03:55 AM
السّلام عليكم و رحمة الله و بركاته
بعد شكر إخواني الأفاضل ممن سبقوني بالمشاركة
بعد التجربة .. هذا الكود يعمل بطريقة جيدة أخي الكريم
كود :
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تحياتي