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

وقوف gui عند استخدام backgroundWorker لادخال بيانات ل datagridview

بدأه eng.mohammedokasha في 3 مارس 2012 · 1 رد · 490 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا استخدم backgroundWorker لادخال بيانات ل datagridview ولكن المشكلة فى ان البرنامج بعلق (GUI freezes

شو سبب تعليق البرنامج ؟؟

private void button5_Click(object sender, EventArgs e)
        {
            backgroundWorker3.RunWorkerAsync();
        }



private void backgroundWorker3_DoWork(object sender, DoWorkEventArgs e)
        {
            insertodata();
        }

public void insertodata()
        {
            for (int i = 0; i<=10;i++ )
            {
                string[] row = new string[9];

                row[0] = "" + i;
                row[1] = "text";
                row[2] = "text";
                row[3] = "text";
                row[4] = "text";
                row[5] = "text";
                row[6] = "text";
                row[7] = "text";
                row[8] = "text";

                dataGridView1.Rows.Add(row);
            }
        }
#2

السلام عليكم ..

  1. يفضل استخدام ReportProgress لتحديث عناصر الــ GUI كمايلي :
     private void button1_Click(object sender, EventArgs e)
        	{
    
            	backgroundWorker1.WorkerReportsProgress = true;
            	backgroundWorker1 .RunWorkerAsync();
    
    
        	}
    
        	private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        	{
            	for (int i = 0; i <= 1000; i++)
            	{
                	string[] row = new string[2];
    
                	row[0] = "" + i;
                	row[1] = "text";
    
                	backgroundWorker1.ReportProgress(i , row);
    
    
            	}
    
    
        	}
    
        	private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        	{
            	string[] row = (string[])e.UserState;
            	dataGridView1.Rows.Add(row);
        	}

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

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