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

سؤال في Threading

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

السلام عليكم

المشكلة هي انني اريد ان انشئ فورم جديد عن طريق Thread

فكتبت التالي في زر

 private void button1_Click(object sender, EventArgs e)
        {
            Thread T = new Thread(CreateForm);
            T.Start();
        }

        void CreateForm()
        {
            Form2 f = new Form2();
            f.Show();
        }

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

#2
private void button1_Click(object sender, EventArgs e)
{
           Thread T = new Thread(CreateForm);
           T.Start();
}

Form2 f;
void CreateForm()
{
           f = new Form2();
           f.Show();
}

تم تعديل هذه المشاركة بواسطة baha_ashour في 31 مارس 2006 في 02:38

#3

نفس المشكلة

#4

مزبوط :wacko:

ألا تريد ان تستخدم ال showdialoge?

void CreateForm()
{
            f = new Form2();
            f.ShowDialog();
}
#5

مش راح ينفع لان الفورم يستدعي فورم اخر وعند اغلاق هذا الفورم راح يغلق الفورم المنشئ عن طريقه

#6

نحتاج الى Invoke

public delegate void createDelegate();
public createDelegate create;
public Form2 f;
        
void CreateForm()
{
            this.Invoke(create);            
}

void creatnewForm()
{
            this.f = new Form2();
            this.f.Show();
}
private void button1_Click(object sender, EventArgs e)
{
            Thread T = new Thread(CreateForm);
            create = new createDelegate(creatnewForm); 
            T.Start();
}
#7

الف شكر لك اخي بهاء

تم تعديل هذه المشاركة بواسطة oldman في 31 مارس 2006 في 02:21

#8

العفو ... ;)

تم تعديل هذه المشاركة بواسطة baha_ashour في 31 مارس 2006 في 02:37

#9

يبدو ان هنالك مشكلة صغيرة حيث ان Invoke موجودة فقط داخل الفورم وغير موجودة داخ الكلاس العادي :(

و انا اعلم انك رايت البرنامج الخاص بي وانا استخدم thread داخل class connection

تم تعديل هذه المشاركة بواسطة oldman في 31 مارس 2006 في 02:33

#10

UP

#11

أخي، هل هناك فائدة في وضع الـ Form في Thread أخرى ؟؟

رأس الحكمة الإيمان بالله

#12

الحقيقة الموضوع ليس وضع فورم فانا متفق معك انه لا فائدة من وضعه داخل Thread

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

واذا اردت الاطلاع على البرنامج فهذا رابط الموضوع

/index.php?showtopic=91092

#13

لقد وجدت الحل -_-

       FrmStartChat Start = new FrmStartChat()
       System.Windows.Forms.Application.Run(Start);

تم تعديل هذه المشاركة بواسطة oldman في 1 أبريل 2006 في 19:47

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

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