PDA

View Full Version : سوال: بهترین روش برای استفاده از چندین کنترول در بک گراند ورکر (backgroundWorker)



mehrdad1991h
سه شنبه 17 اردیبهشت 1392, 13:57 عصر
سلام
من یک تابع دارم که اول کار میاد کلیه ی کنترول های وی فرم را تمام اطلاعاتشون را دریات میکنه و ذخیره میکنه
الان میخوام این تابع را در ابتدا در قسمت فرم لود برنامه بزارم ولی وقتی چنین کاری میکنم لود شدن برنامه خیلی زمان میبره
حالا راه حل اینه که بیام از بکگراند ورکر استفاده کنم
خوب اومدیم استفاده کنیم و تابع را درش فراخوانی کنیم
وقتی فراخوانی میشه بک گراند ورکر دسترسی به هیچ کودوم از کنترل های روی فرم نداره
تازه اگه توی یک تابع از تابع دیگری هم استفاده شده باشه که دیگه هیچی....
حالا سوالی که دارم
من چگونه میتونم از این توابع در بک گراند ورر استفاده کنم ؟
بهترین روش چیه ؟

لطفا راهنمایی کنید.

mehrdad1991h
سه شنبه 17 اردیبهشت 1392, 18:20 عصر
هیچ کسی هیچ روشی به ذهنش نرسید ؟
خیلی متشکرم

Xcalivorse
سه شنبه 17 اردیبهشت 1392, 18:36 عصر
دوست عزیز مشکل شما دقیقا چیه ؟ برنامه موقع دسترسی به کنترل ها ارور میده ؟

mehrdad1991h
سه شنبه 17 اردیبهشت 1392, 19:48 عصر
دوست عزیز مشکل شما دقیقا چیه ؟ برنامه موقع دسترسی به کنترل ها ارور میده ؟
ببین این یه چیزه واضحه که وقتی با بک گراند ورکر کار میکنی
موقعی که توی بک گراند ورکر بخوای به کنترلی روی فرم دسترسی داشته باشی بهت ارور میده خوب این واضحه میایم براش یه چیزی بالاخره تعریف میکنیم و داده را تحویل که گرفتیم بعد ستش میکنیم تو کنترل

خوب الان مشکل من اینه که حدود 400-500 تا کنترل هست روی فرم من که همشون تو بکگراند ورکر استفاده میشن
الان من چجوری چی کار بکنم که ارور نده بهم !!!! (بهترین روش چیه)

الان منظورم مشخصه ؟

mehrdad1991h
چهارشنبه 18 اردیبهشت 1392, 01:12 صبح
کسی چیزی نفهمید ؟

mehrdad1991h
چهارشنبه 18 اردیبهشت 1392, 12:50 عصر
بیا بالا لطفا....

mamiz
چهارشنبه 18 اردیبهشت 1392, 14:39 عصر
دوست عزیز،
دسترسی به یک کنترل فقط از داخل تردی (Thread) که کنترل در آن ساخته شده امکانپذبر است.
شما باید از delegate و invoke استفاده کنید.