نمایش نتایج 1 تا 5 از 5

نام تاپیک: فریز شدن فرم در backgroundWorker

  1. #1
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    Tehran
    پست
    365

    فریز شدن فرم در backgroundWorker

    با سلام
    من یک سری اطلاعات رو میخوام توسط backGroundWorker باند کنم توی یه گرید ویو . این کار انجام میشه اما بعد از لود شدن دیتا در گرید ویو , فرم هنگ میکنه و دیگه نمیشه باهاش کاری انجام داد . میشه یه راهنمایی بدید که چطور میشه ؟

  2. #2

    نقل قول: فریز شدن فرم در backgroundWorker

    سلام
    برا این جور مشکلا باید کدتو هم بذاری دوستان ببینن و خطا رو پیدا کنن

  3. #3
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    Tehran
    پست
    365

    نقل قول: فریز شدن فرم در backgroundWorker

    نقل قول نوشته شده توسط mousa1992 مشاهده تاپیک
    سلام
    برا این جور مشکلا باید کدتو هم بذاری دوستان ببینن و خطا رو پیدا کنن
    کد HTML:
    	private void button4_Click(object sender, EventArgs e)
        {
            bckdataload.RunWorkerAsync();
        }
    	
    	private void bckdataload_DoWork(object sender, DoWorkEventArgs e)
        {
    	    dataset ds = Users.bindAll();
    	    grid.datasource = ds.Tables[0];
    	}
    در این حالت دیتا توی گرید لود میشه اما بلا فاصله فرم هنگ مینه

  4. #4

    نقل قول: فریز شدن فرم در backgroundWorker

    عزیز اول اینکه توی DoWork به اشیا thread اصلی نمیتونی دسترسی داشته باشی ینی اینکه کلا ترد ها با هم نمیتونن به صورت مستقیم ارتباط برقرار کنن و باید از deligate ها استفاده بشه که backgroundworker کار رو خیلی راحت کرده
    فرضض بر این که بشه همچین کاری کرد اگه قرار اینجوری گرید رو پر کنی که از ترد دیگه نیازی نیست استفاده کنی
    شما باید توی رویداد DoWork اطلاعات رو بگیری و درون یک دیتاتیبل بریزی و دستور پر کردن گرید رو توی RunWorkerCompleted بنویسی

  5. #5

    نقل قول: فریز شدن فرم در backgroundWorker

    نمونه کد :


    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
    DataTable dt = new DataTable();
    //... Fill dt from database
    e.Result = dt;
    }


    private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
    DataGridView dgv = new DataGridView();
    dgv.DataSource = e.Result as DataTable;
    }

تاپیک های مشابه

  1. فریز شدن فرم tidtcpserver در زمانیکه هیچ کاری انجام نمیدهد و antifreeze هم استفاده شده .
    نوشته شده توسط MEhdi Sobhani در بخش توسعه نرم افزارهای تحت شبکه
    پاسخ: 1
    آخرین پست: شنبه 11 دی 1389, 13:18 عصر
  2. فریز شدن فرم هنگام اجرای یک Thread
    نوشته شده توسط hamid_khakzad در بخش VB.NET
    پاسخ: 11
    آخرین پست: دوشنبه 30 آذر 1388, 10:06 صبح
  3. جلوگیری از فریز شدن فرم درهنگام اجرای quary
    نوشته شده توسط arshia_ در بخش برنامه نویسی در Delphi
    پاسخ: 9
    آخرین پست: دوشنبه 29 آبان 1385, 11:49 صبح
  4. کنترل رویداد بسته شدن فرم
    نوشته شده توسط sh_m در بخش VB.NET
    پاسخ: 4
    آخرین پست: یک شنبه 10 آبان 1383, 11:30 صبح
  5. وارد کردن پسورد Dbisam در هنگام باز شدن فرم
    نوشته شده توسط پریسا نامدار در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: شنبه 28 شهریور 1383, 15:28 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •