PDA

View Full Version : حرفه ای: اجرای یک فرم به صورت backgroundworker



رامین مرادی
دوشنبه 11 دی 1396, 12:06 عصر
سلام وقت بخیر
نیاز دارم یک فرم رو هنگام کار برنامه اجرا کنم و کاربر توش یک کلیدی رو تایید کنه و یه سری عملیات انجام بشه که ممکنه این عملیات چندین دقیقه طول بکشه و کاربر بره سراغ بقیه کارای خودش و اون فرم کارای خودش رو انجام بده.
ممنون میشم راهنمایی کنید چطور این عملو انجام بدم اگه مثال هم بزنید عالی میشه.

parvizwpf
دوشنبه 11 دی 1396, 14:58 عصر
شما فرمتون رو بصورت Show() باز کنید وداخلش بک گراند ورکر برای کار طولانی مدتون بزارید مشکلی پیش میاد؟

رامین مرادی
دوشنبه 11 دی 1396, 15:01 عصر
شما فرمتون رو بصورت Show() باز کنید وداخلش بک گراند ورکر برای کار طولانی مدتون بزارید مشکلی پیش میاد؟

یک مشکلی هم هست وقتی همین بک گراند ورکر اجرا میشه بازم هنگ میکنه تا اتمام کار. :افسرده: .

Mahmoud.Afrad
دوشنبه 11 دی 1396, 17:21 عصر
احتمالا در بگراندورکر کدی دارید که به دفعات زیاد و با فاصله کم(مثلا در یک حلقه) در ظاهر فرم و یا کنترل‌هایی تغییر ایجاد میکند که این کار با استفاده نکردن از بکگراندورکر هیچ تفاوتی ندارد. چون نخ مسئول رابط‌کاربری(UI Thread) فرصت نمیکنه همه این تغییرات رو رسم کند.




در هر حال باید کدتون را دید تا بشه مشکلش رو برطرف کرد..

aliramazani
پنج شنبه 14 دی 1396, 02:20 صبح
باید فور را حذف کنید. در اصل کدی که قراره توی فور اجرا بشه باید توسط تکرار بک گراند ورکر انجام بشه؟؟!!! نمیدونم درست فهموندم یا نه