منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مساعده في تشغيل اكثرمن فورم في وقت واحد
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
استعملت الكود التالي لفتح شاشة فورم جديد  
 Dim frm As New Form3
        frm.MdiParent = Me
        frm.Show()
        If frm.WindowState = FormWindowState.Minimized Then frm.WindowState = FormWindowState.Normal

المشكلة عند الضغط علي زر الامر مرة اخرى فانه يقوم بتشغيل الفورم مرة اخرى ويصبح اكثر من نسخة مفتوحة من نفس الشاشة 
انا اريد اذا كان الفورم مفتوحا ان يستدعيه للظهور فقط دون تشغيل شاشة جديد  


كنت استعمل الامر form.show  
وكان يعمل بشكل سليم لكن مشكلته عند ظهور اكثر من شاشة فلن يقوم باستدعاء الشاشة الى الواجهه 


ارجو الافادة
استعملت الكود التالي لفتح شاشة فورم جديد  
كود :
Dim frm=mdichildren.oftype(of form3).singleordefault
if frm is nothing then
  frm= New Form3
       frm.MdiParent = Me
       frm.Show()
else
       If frm.WindowState = FormWindowState.Minimized Then frm.WindowState = FormWindowState.Normal
end if
frm.activate
الامر activate يقوم باستدعاء الشاشة الى الواجهه
اشكرك من كل قلبي
الكود سليم
بارك الله فيك
ممكن تعرف متغير من نوع   Boolean
 Public isFormOpen As Boolean



Dim frm As New Form3

  If isFormOpen Then

  frm.Activate()


     
   Else
 isFormOpen = True
        frm.MdiParent = Me

        frm.Show()
       

 If frm.WindowState = FormWindowState.Minimized Then frm.WindowState = FormWindowState.Normal

  End If

وعند اقفال الفورم يجب انت تحول القيمه الى false

  
 isFormOpen = False
الكود الاول اشتغل تمام بفضل الله
في الفيجول بيزك لا يحتاج كل هذه الاجراءات
فقط الكود التالي ، إن كان مغلق بيشغله وإن مفتوح بفعله، فقط :
كود :
Form2.Show()
Form2.Activate()