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

فتح فورم مره واحده فقط

مغلق
بدأه دون سيلفاتور في 16 فبراير 2006 · 10 رد · 1,336 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام علبيكم

عندي سؤال لو تكرمتو

في الفجوال بيسك 6 لما كنا نفتح فورم جديد كنا نستعمل Form1.show عند ضغط امر الفتح

واذا فتحناه مره اخرى يقوم البرنامج بفتح الفورم نفسه

لكن بالسي شارب عند ضغط امر فتح الفورم يقوم بفتح فورم جديد في كل مره

فكيف اخليه يفتح نفس الفورم الي هو مفتوح (مثل اللفجوال بيسك)

وتسلمون

abo_alzobaer@hotmail.com

#2
اعمل كالتالي


public class Form1 : System.Windows.Forms.Form
{
bool x=false; // أضف هذا

وعلى الزر الذي يستدعي الفورم أضف هذا

private void button2_Click(object sender, System.EventArgs e)
 {
  Form2 f2=new Form2();
  if(x==false)
  {
   f2.Show();
   x=true;

  }
  f2.Closed+=new EventHandler(f2_Closed);
 }

وتحت هذا الكود في مكان فارغ داخل class أضف

 private void f2_Closed(object sender, EventArgs e)
 {
  x=false;
 }
My_Sign.jpg
#3

أعتقد أن هناك طريقة أسهل وهي استخدام ShowDialog بدل من Show

private void button1Click(object sender, EventArgs e)
{
            Form2 f2 = new Form2();
            f2.ShowDialog();
}

هنا لن يتم فتح الفورم مرة أخرى الا بعد اغلاقه

#4

شكرا لكم

لكن رد الاخ صياد القلوب فيه مشكله صغيره

انه لما يضط المستخدم الزر مره ثانيه

لا يحدث شي

انا ابغيه يظر مره ثانيه

يعني يحصل له اكتفيت

abo_alzobaer@hotmail.com

#5

اوكي عند الاغلاق غيره حاله الفاريابل x من true إلى false

وفوق كل ذي علم عليم

والله اعلم

الملك ------>محمد ابو تريكة

abutreika.jpg

على اسم مصر التاريخ يقدر يقول ما شاء

أنا مصر عندي أحب وأجمل الأشياء

باحبها وهي مالكه الأرض شرق وغرب

وباحبها وهي مرميه جريحة حرب

باحبها بعنف وبرقة وعلى استحياء

واكرهها وألعن أبوها بعشق زي الداء

واسيبها واطفش في درب وتبقى هي ف درب

وتلتفت تلقيني جنبها في الكرب

والنبض ينفض عروقي بألف نغمة وضرب

على اسم مصر

#6

ياجماعة استخدموا الSingleton Pattern أفضل

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#7
bashmohandes كتب:
ياجماعة استخدموا الSingleton Pattern أفضل

ممكن لو مثال بسيط على طريقة الSingleton Pattern

وشكرا

#9

الف شكر يا باشا

#10

اعتقد انك ممكن تعمل اعلان للمتغير اللى هيمثل الفورم على مستوى الكلاس كله مش داخل method

كالتالى

public class Form1 
{
    Form1 form;
}

و بعدين فى الكود بتاع الزرار تكتب التالى

Button_Click (object sender,System.EventArgs e)
{
     if(form==null)
{
 form=new Form1();
}
form.Show();

أحمد صلاح

#11
dev_a_salah كتب:
اعتقد انك ممكن تعمل اعلان للمتغير اللى هيمثل الفورم على مستوى الكلاس كله مش داخل method 

كالتالى

public class Form1 
{
    Form1 form;
}

و بعدين فى الكود بتاع الزرار تكتب التالى

Button_Click (object sender,System.EventArgs e)
{
     if(form==null)
{
 form=new Form1();
}
form.Show();

هذه الطريقة لا تصلح وذلك لان الاستدعاء سوف يكون من فورم اخر

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

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