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

كيف تظهر الفورمه مرة واحدة

بدأه ibrahim fathy في 30 يونيو 2010 · 2 رد · 508 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

الرجاء المساعدة فى عدم فتح نسخة جديدة من الفورمة طالما هناك نسخة مفتوح منها

#2

إستعمل الطريقة (ShowDialog) :


f.ShowDialog();
Form2 f = new Form2();

118650.jpg
#3

السلام عليكم و رحمة الله و بركاته ...

لنفرض أن لديك فورمتين ، الأولى هي الفورمة الرئيسية و تسمى main_form و الثانية تسمى customer_form و هي الفورمة الفرعية، لجعل فورمة customer_form تفتح مرة واحدة فقط نقوم بعمل متغير عام من النوع bool في الفورمة الرئيسية

public static bool customer_open;

ثم نذهب لحدث load في فورمة customer_form و نجعل قيمة المتغير العام تساوي true

main_form.customer_open=true;

و في الحدث form_closed للفورمة customer_form

main_form.customer_open=false;

نعود مرة أخرى للفورمة main_form و نجعل الخاصية IsMdiContainer تساوي true . ثم نذهب للزر الذي يقوم بفتح الفورمة customer_form و نكتب هذا الكود:

customer_form cus_frm=new customer_form();
if(customer_open==true)
{
cus_frm.focus();
cus_frm.MdiParent=this;
}
else if(customer_open==false)
{
cus_frm.show();

cus_frm.MdiParent=this;
}

عند فتح الفورمة الفرعية فإن قيمة المتغير customer_open تصبح true و عند الغلق تصبح false ، لذا عند الضغط على زر فتح الفورمة الفرعية فإن البرنامج يتحقق من قيمة المتغير، إذا كانت true فهذا يعني أن الفورمة الفرعية مفتوحة بالفعل لذا يقوم فقط بعمل التركيز عليها، اما إذا كانت false فذلك يعني أن الفورمة مغلقة و يقوم البرنامج بفتحها.

تم تعديل هذه المشاركة بواسطة بهاء صلاح الدين فراج في 30 يونيو 2010 في 15:11

−1

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