تور لحظه آخری
امروز : پنجشنبه ، 29 شهریور 1403    احادیث و روایات:  پیامبر اکرم (ص):هرگاه (مردم) امر به معروف و نهى از منكر نكنند، و از نيكان خاندان من پيروى ننمايند،...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

تریدینگ ویو

لمینت دندان

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

طراحی کاتالوگ فوری

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

وکیل کرج

خرید تیشرت مردانه

وام لوازم خانگی

نتایج انتخابات ریاست جمهوری

خرید ابزار دقیق

خرید ریبون

موسسه خیریه

خرید سی پی کالاف

واردات از چین

دستگاه تصفیه آب صنعتی

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

خرید نهال سیب سبز

قیمت پنجره دوجداره

بازسازی ساختمان

طراحی سایت تهران سایت

دیوار سبز

irspeedy

درج اگهی ویژه

ماشین سازان

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

شات آف ولو

تله بخار

شیر برقی گاز

شیر برقی گاز

خرید کتاب رمان انگلیسی

زانوبند زاپیامکس

بهترین کف کاذب چوبی

پاد یکبار مصرف

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

بلیط هواپیما

 






آمار وبسایت

 تعداد کل بازدیدها : 1816699488




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

مختصری درباره BackgroundWorker


واضح آرشیو وب فارسی:سایت ریسک: View Full Version : مختصری درباره BackgroundWorker B O L O T02-08-2007, 02:13 PMBackgroundWorker محسوس تر و بصری تر کردن کلاس thread است.یک پروسه زمان بر را به آن میدهیم و BackgroundWorker آن را اصطلاحا در پشت (رابط کاربری و کاربر شما) تا پایان انجام میدهد در حالی که کاربر میتواند در طول این مدت پروسهای دیگر خود را انجام دهد. BackgroundWorker1.RunWorkerAsync(100): این متد رویداد DoWork را صدا میزند پارامتر آن اختیاری و از نوع object است که در رویداد DoWork توسط متد e.Argument قابل بازیابی است. BackgroundWorker1.DoWork: کدهای مربوط به پروسه خود را (مثل لود تعداد زیادی رکورد) در این رویداد قراردهید. BackgroundWorker1.RunWorkerCompleted: وقتی کل پروسه پایان پذیرفت این رویداد صدا زده میشود. backgroundWorker1.IsBusy: مادامیکه پروسه در حال انجام است و رویداد RunWorkerCompleted صدا زده نشده این خصوصیت مقدار True دارد BackgroundWorker.ReportProgress(int32): برای استفاده از این متد ابتدا خصوصیت WorkerReportsProgress رابرابر true قراردهید. این متد رویداد BackgroundWorker.ProgressChanged را صدا میزند و پارامتر خود را در متد e. ProgressPercentage رویداد فوق تحویل میدهد. BackgroundWorker.ProgressChanged: به راحتی میتوانید در این رویداد پروگرس بار خود را مقداردهی کنید. و کاربر را از روند کار آگاه کنید. BackgroundWorker.CancelAsync: برای استفاده از این متد ابتدا خصوصیت WorkerSupportsCancellation رابرابر true قراردهید. این متد باعث کنسل شدن کل پروسه میشود. و خصوصیت BackgroundWorker.CancellationPending را True میکند البته مشخص است که خروجی پروسه تا فراخوانی این متد در اختیار کاربر است. BackgroundWorker.CancellationPending: بهتر است در طول پروسه مقدار این خصوصیت مرتبا چک شود. Shahrdar02-08-2007, 07:09 PMسلام ممنون از آموزشه خوبت من يه مشکل دارم تويه cancel کردن من اينکارو به سرته زير انجام ميدم (اينم بگم که workersupportscancellation = true هست) برايه شروع !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! برايه cancel کردن !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ولی جواب هميشه true ميشه اگه کمک کنی ممنون ميشم hamidreza_buddy05-08-2007, 04:01 PMباید توی پروسه ای که در حال اجرا هست چک کنی که آیا bakground.CancellationPending مقدارش true شده یا نه. چون بعد از اجرای CancelWork() این مقدار true می شود و ما باید پروسه مان را به پایان برسانیم. مخصوصاً اگر پروسمون یک حلقۀ بینهایت داشته باشه. وگرنه تا آخر اجرا میشه و هیچ راهی برای متوقف کردنش نیست. در ضمن یه چیز جالب هم در این باره تغییر مشخصات فرم (یا در کل داده های یک ریسمان دیگر) هست. چون این دو در دو ریسمان متفاوت هستند این کار به صورت مستقیم امکان پذیر نیست. مثلاً برای تغییر اندازۀ فرم (Size) اگر به صورت مستقیم در پروسه عمل کنیم یک Exception رخ می دهد. برای مثال من خودم می بایست در این متد ScrollSize یک فرم رو تغییر می دادم. ولی اگه مستقیم می نوشتم که مثل !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! یک exception رخ می داد. برای حل این مشکل باید این کارو می کردم: ابتدا یک delegate ایجاد کنم: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! بعد توی فرمم یک عضو از این نوع ساختم: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! بعد اونو تو سازنده مقداردهی کردن: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! و تابعی با این نام در فرم ایجاد کردم: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! حال هر وقت نیاز به تغییر دادن ScrollSize فرم در پروسه بود اینگونه عمل می کردیم: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! آخیش تموم شد! B O L O T05-08-2007, 10:26 PMممنون کارت عالیه . rahgouzar21-12-2007, 11:42 PMسلام خيلي ممنون از پستتون ميخواستم بدونم چه طور ميشه مقداري رو كه از انجام يك پروسه در backgroundworker بدست آورديم به يك textbox در همون فرم منتقل كنيم با تشكر lahij.ir22-08-2010, 01:09 AMسلام خيلي ممنون از پستتون ميخواستم بدونم چه طور ميشه مقداري رو كه از انجام يك پروسه در backgroundworker بدست آورديم به يك textbox در همون فرم منتقل كنيم با تشكر سلام سوال منم همینه ، مستقیم نمیتونم یه مقدار بدم به شی روی فرمم چی کار کنم ؟:41: without_all23-08-2010, 11:07 PMسلام سوال منم همینه ، مستقیم نمیتونم یه مقدار بدم به شی روی فرمم چی کار کنم ؟:41: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!تابع به رنگ آبی رو داخل backgroundWorker1_DoWork فراخانی میکنید . سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 974]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن