الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الحل بسيط جدا لمنع تكرار فتح الفورم

مغلق
بدأه yahyahamil في 31 مارس 2005 · 3 رد · 1,241 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

اولا ندرج من قائمة project منها add new form ثم module

ونعرف في هذه module الاتى

public f1 as boolean=false

وبعدها نذهب الى المكان الذى يتمفيه فتح الفورم وليكن button1 مثلا ونكتب داخل الحدث cilck ماياتى

if f1=true then exit sub

وفى هذه الحالة اذا وجد ال f1 مساويا true فانه يخرج من الحلقة

وبعدها

dim n as new form2

n.show

f1=true

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

ونكتب داخلها

f1=false

ملاحطه:-

اى قيمة انا افرضها فانها تستخدم للتوضيح وهى f1,n

الخلاصة

الكود فى button_click

if f1=true then exit sub

dim n as new form2

n.show

f1=true

اما فى form2_closing

f1=false

اما فى ال module

public f1 as boolean=false

#2

سلام عليكم

الف شكر اخي على الفكرة الرائعه لمنع فتح الفورم على مستوى المشروع بالكامل ،

هناك ايضاً حل اخر على مستوى الفورم الرئيسي وهو :

dim frm as new form2
frm.ShowDialog(Me)

وبهذه الطريقة لن يتكرر فتح اكثر من نفس الفورم :)

تم تعديل هذه المشاركة بواسطة Non-top في 1 أبريل 2005 في 01:27

" اللهم لاسهل إلا ماجعلته سهلاً وأنت تجعل الحزن إذا شئت سهلاً "

003.gif

قواعد طرح الأسئله والمشاركات

-------------------

MSN Messenger : nontop@gmail.com

Happy coding

-------------------

#3

السلام عليكم ,,

الشكر والتقدير لهذا المجهود الرائع ,, عندي سؤال :)

ماذا عن تطبيق هذه الطريقة مع تطبيقات الـ MDI

مثلا الطريقة لفتح نموذج في داخل الـ MDI Form هي

Dim f As New frmName
f.MdiParent=me
f.Show

بهذه الطريقة يتم فتح الفورم frmName داخل الـ MDI Form , تخيل معي أن هنالك قائمة في الـ MDI Form تفوم بفتح نماذج المشروع , وقمت بفتح النموذج frmName ثم قمت بفتح نموذج آخر . وعدت ثانية لفتح النموذج frmName بنفس الطريقة السابقة سيتم فتحه ثانية وبذلك يكون مفتوح مرتين , هل هنالك طريقة لمعرفة النموذج هل تم فتحه من قبل واذا كان الجواب نعم كيف أقوم فقط بتنشيطه بدلاً من فتحه مرة ثانية

والله الموفق

تم تعديل هذه المشاركة بواسطة Ammar Gaffar في 2 أبريل 2005 في 08:37

#4

في اي Module اضف التالي

public f as frmSearsh

مثلا

ثم في الحدث الذي يظهر الفورم ضع التالي

if f is NoThing Then

f=new frmSearsh

f.show

else

f.activate

end if

وبهذا لن تفتح الفورم مرة اخري ابدا

....

هذا الموضوع مغلق.

مواضيع مشابهة