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

نام تاپیک: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

  1. #1

    ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    من میخواهم در زمان لود اطلاعات در گرید به وسیله یک ProgressBar عملیات بار گزاری اطلاعات را نمایش دهم تا کاربر منتظر بایند گرید شود و از هنگ کردن نرم افزار جلوگیری شود ... یا اینکه متن "اطلاعات در حال بار گذاری است" در زمان بایند نمایش داده شود.

    لطفا راهنمایی بفرمایید ؟

    سورس کد ، سمپل ، پیشنهاد ، لینک و ...

    ================================================== =====
    این تاپیک به جواب رسید نمونه های زیادی برای بک ProgressBar دوستان گذاشتند ...
    در حال حاضر در مورد BackGroundWorker بحث می شود ...
    آخرین ویرایش به وسیله ostovarit : دوشنبه 15 شهریور 1389 در 12:35 عصر دلیل: توضیحات جدید

  2. #2
    کاربر تازه وارد آواتار 2ndesigner
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    قائم شهر
    پست
    69

    Exclamation نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    من متد خاصی برای این کار بلد نیستم ولی به نظر من می تونی یک لیبل ایجاد کنی و قبل از هر متدی که می خواهی لود شدنش رو اعلام کنی ، متن لیبل رو متناسب با او تغییر بدی...
    در ضمن این فقط یه ایده است برای تازه کار ها

  3. #3

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    نقل قول نوشته شده توسط 2ndsigner مشاهده تاپیک
    من متد خاصی برای این کار بلد نیستم ولی به نظر من می تونی یک لیبل ایجاد کنی و قبل از هر متدی که می خواهی لود شدنش رو اعلام کنی ، متن لیبل رو متناسب با او تغییر بدی...
    در ضمن این فقط یه ایده است برای تازه کار ها
    با تشکر از توجهت ولی این کار عملی نیست برنامه میره به دیتابیس کانکت میشه و اطلاعات رو سلکت میزنه بعد میاد رکوردها رو فیلتر میکنه و رنگهای مختلفی بهشون میده تو این فاصله برنامه هنگ میکنه میخوام تو این فاصله که ایونت های متعددی رخ میده به جای هنگ یک ProgressBar نشون داده بشه.

  4. #4
    کاربر دائمی آواتار ایمان مدائنی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    تهران
    پست
    1,463

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    مي توني يه فرم درست كني و قبل از بايند شدن اونو شو ديالوگ كني و وقتي بايند تموم شد اونو كلوز كني !
    تا توش ميتوني بنويسي كه لطفا چند لحضه صبر كنيد
    موفق باشي

  5. #5
    کاربر دائمی آواتار حجتی نیا
    تاریخ عضویت
    دی 1387
    محل زندگی
    ایران
    پست
    400

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    نقل قول نوشته شده توسط ostovarit مشاهده تاپیک
    من میخواهم در زمان لود اطلاعات در گرید به وسیله یک ProgressBar عملیات بار گزاری اطلاعات را نمایش دهم تا کاربر منتظر بایند گرید شود و از هنگ کردن نرم افزار جلوگیری شود ... یا اینکه متن "اطلاعات در حال بار گذاری است" در زمان بایند نمایش داده شود.

    لطفا راهنمایی بفرمایید ؟

    سورس کد ، سمپل ، پیشنهاد ، لینک و ...
    با backgroundworker راحت میتونی انجام بدی،خودم واسه عملیات ریستور نوشتم و خیلی خوب کارمیکنه..
    1 - ابتدا یه فرم جدید ایجاد میکنی و یه progressbar و .. میزاری توش، همه کارایی که باید انجام بشه رو تو رویداد لود فرم بنویس . درضمن باید topmost هم باشه
    2 - یه backgroundworker میکشی تو فرمی که گرید داری و تو پروپرتی اون خاصیت cancel رو true میکنی ، در رویداد do-work اون، فرمی که بالا ایجاد کردی رو show میکنی(showdialog نه)، حالا در برنامه قبل اینکه گرید لود بشه مینویسی :
    backgroundWorker1.RunWorkerAsync();
    this.Cursor = Cursors.WaitCursor;
    در انتها که گرید پر شد مینویسی :
    backgroundWorker1.CancelAsync();
    this.Cursor = Cursors.Default;
    تمام..

  6. #6

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    با سلام

    صحبت های حجتی نیا درسته منم پیشنهاد میکنم بری تو قسمت نمونه کد ها صفحه یکی مونده به اخری یک نمونه کار هستش از اون طریق میتونی استفاده بکنی

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  7. #7
    کاربر دائمی آواتار ozzy_mra
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    پست
    544

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    نقل قول نوشته شده توسط mmd2009 مشاهده تاپیک
    با سلام

    صحبت های حجتی نیا درسته منم پیشنهاد میکنم بری تو قسمت نمونه کد ها صفحه یکی مونده به اخری یک نمونه کار هستش از اون طریق میتونی استفاده بکنی
    سلام دوست عزیز من برنامه که گفتیدو نتونستم پیدا کنم ممکنه لینکشو برام بزارید؟
    خیلی ممنونم

  8. #8

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود


    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  9. #9
    کاربر دائمی آواتار hamide_kh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    روبروی مانیتور
    پست
    202

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    با backgroundworker راحت میتونی انجام بدی،خودم واسه عملیات ریستور نوشتم و خیلی خوب کارمیکنه..
    1 - ابتدا یه فرم جدید ایجاد میکنی و یه progressbar و .. میزاری توش، همه کارایی که باید انجام بشه رو تو رویداد لود فرم بنویس . درضمن باید topmost هم باشه
    2 - یه backgroundworker میکشی تو فرمی که گرید داری و تو پروپرتی اون خاصیت cancel رو true میکنی ، در رویداد do-work اون، فرمی که بالا ایجاد کردی رو show میکنی(showdialog نه)، حالا در برنامه قبل اینکه گرید لود بشه مینویسی :
    کد:
    backgroundWorker1.RunWorkerAsync();
    this.Cursor = Cursors.WaitCursor;
    در انتها که گرید پر شد مینویسی :
    کد:
    backgroundWorker1.CancelAsync();
    this.Cursor = Cursors.Default;
    تمام..
    سلام
    من کارهایی که شما را انجام دادم اما برنامه مشکل داره،برنامه را ضمیمه کردم اگه ممکنه یک نگاهی بهش باندازید ببنید مشکل از چیست؟
    فایل های ضمیمه فایل های ضمیمه

  10. #10
    کاربر دائمی آواتار حجتی نیا
    تاریخ عضویت
    دی 1387
    محل زندگی
    ایران
    پست
    400

    Post نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    نقل قول نوشته شده توسط hamide_kh مشاهده تاپیک
    سلام
    من کارهایی که شما را انجام دادم اما برنامه مشکل داره،برنامه را ضمیمه کردم اگه ممکنه یک نگاهی بهش باندازید ببنید مشکل از چیست؟
    یه برنامه واست گذاشتم نیازی به background.. نداره و فقط با fmessagebox کار میکنه ..
    فایل های ضمیمه فایل های ضمیمه

  11. #11
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    شهریور 1404
    محل زندگی
    اهواز
    سن
    44
    پست
    1,154

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    نقل قول نوشته شده توسط حجتی نیا مشاهده تاپیک
    یه برنامه واست گذاشتم نیازی به background.. نداره و فقط با fmessagebox کار میکنه ..
    سلام
    این چیزی که الان گذاشتید بر حسب زمانی که ما خودمون براش تعیین میکنیم پیغام رو روی صفحه نمایش میده نه بر اساس مدت زمانی که برنامه در حال اجرای عملیات هست
    روش قبل بهتر بود
    من روش قبل رو امتحان کردم ولی موقعی که کار تمام میشه با اینکه
    backgroundWorker1.RunWorkerAsync();
    کردم ولی هم چنان پیغام باقی میمونه!!!!!!!!!!
    چرا؟؟؟
    البته من WPF کار کردم ، ممکن از اون باشه؟؟

  12. #12

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    اینو ببین شاید به دردت بخوره

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  13. #13
    کاربر دائمی آواتار hamide_kh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    روبروی مانیتور
    پست
    202

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    سلام
    این چیزی که الان گذاشتید بر حسب زمانی که ما خودمون براش تعیین میکنیم پیغام رو روی صفحه نمایش میده نه بر اساس مدت زمانی که برنامه در حال اجرای عملیات هست
    روش قبل بهتر بود
    من روش قبل رو امتحان کردم ولی موقعی که کار تمام میشه با اینکه
    backgroundWorker1.RunWorkerAsync();
    کردم ولی هم چنان پیغام باقی میمونه!!!!!!!!!!
    چرا؟؟؟
    منم دقیقا همین مشکل را دارم میشه همون برنامه را اصلاحش کنید

  14. #14
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    شهریور 1404
    محل زندگی
    اهواز
    سن
    44
    پست
    1,154

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    CancelAsync: توقف اجرای دستورات.

    درخواستی را مبنی بر قطع شدن عملیات ثبت می کند. با فراخوانی این تابع مقدار CancellationPending به true تغییر پیدا خواهد کرد.
    توجه کنید که با فراخوانی این تابع اجرای دستورات همان لحظه متوقف نخواهد شد. این وظیفه نویسنده کد خواهد بود که مقدار ویژگی CancellationPending را بررسی کرده و ادامه عملیات را قطع کند.
    هشدار: همیشه مقدار CancellationPending را در درون رویداد DoWork بررسی کنید. در صورت عدم بررسی این ویژگی ، اجرای تابع CancelAsync تاثیری نخواهد داشت و اجرای دستورات قطع نخواهد شد.
    نکته: برای استفاده از این تابع باید مقدار ویژگی WorkerSupportsCancellation را به trueتغییر دهید، در غیر اینصورت با خطای InvalidOperationException روبرو خواهید شد.

    برگرفته از مقاله آقای سالار خلیل زاده در سایت www.softprojects.org

  15. #15
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    شهریور 1404
    محل زندگی
    اهواز
    سن
    44
    پست
    1,154

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    من یه سئوال توی بخش WPF پرسیدم در همین رابطه اگه کسی دوست داره کمک کنه یه نگاهی بهش بندازه
    http://www.barnamenevis.org/sh...d.php?t=238818

  16. #16
    کاربر دائمی آواتار hamide_kh
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    روبروی مانیتور
    پست
    202

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    اینو ببین شاید به دردت بخوره
    سلام من این لینک را دیدم اما نتونستم مشکلم را حل کنم
    جناب حجتی نیا یا دوستان دیگه میشه اون برنامه ای که در پست 9 گذاشتم را یک نگاه بندازیذ

  17. #17
    کاربر دائمی آواتار mahdi87_gh
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    قزوین
    پست
    448

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    دوست عزیز برداشت بنده از background Worker این هستش که ما یه کاری که مدت طولانی ای انجام خواهد شد و ما میتوانیم میزان پیشرفت کار را در هر لحظه گزارش بدهیم همراه با یک progressbar استفاده کنیم. (البته نمیگم که برداشت من کاملا درسته) در اینجا شما نیاز دارید در طی انجام عملیات لود اطلاعات یک فرم wating نمایش داده شود. روشی که من استفاده میکنم اینه که یه فرم wating طراحی میکنم و داخلش یک فایل فلش یا gif قرار میدهم. حالا قبل از اجرای دستورات ado.net با استفاده از یک thread فرم wating رو نمایش میدم. و در پایان لود اطلاعات اون فرم رو می بندم
    موفق باشید

  18. #18
    کاربر دائمی آواتار حجتی نیا
    تاریخ عضویت
    دی 1387
    محل زندگی
    ایران
    پست
    400

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    https://barnamenevis.org/showthread.php?t=64210
    پست 535 و 536 رو نگاه کن ...

  19. #19

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    با عرض سلام
    ولی بهترین روش همین backgroundworker هستش من خیلی جستجو کردم ولی به نتیجه نرسیدم نمونه کدهای زیادی بودن ولی همشون به نحوی خطا داشتن.
    اگه دوستان در این ضمینه نمونه کد یا مثالی داشتن ممنون میشم اگه در اختیار ما هم قرار بدن.
    با تشکر...

  20. #20
    کاربر دائمی آواتار ایمان مدائنی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    تهران
    پست
    1,463

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    من يك نمونه پيشرفته دارم ببين به كارت مياد http://www.barnamenevis.org/sh...d.php?t=239752

  21. #21

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    همون طوری که گفتم بهترین راه استفاده ازBackground Worker هستش من یک برنامه براتون آماده کردم که تقریبا کامل هستش هم بصورت همزمان کار می کنه هم بصورت غیر همزمان هر جایی هم مشکلی بود بگین توضیح بدم.
    فایل های ضمیمه فایل های ضمیمه

  22. #22
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    شاید به کارت بیاد:
    http://stackoverflow.com/questions/182112

  23. #23

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    نقل قول نوشته شده توسط mmd2009 مشاهده تاپیک
    در این نمونه یک ماسک ساخته شده و در زمان انجام عملیات روی فرم انداخته میشه ( طبق تصاویر) ولی همچنان سیستم تا پایان عملیات هنگ میکنه ... من میخواستم از بک گراند ورکر استفاده کنم که با ارور زیر مواجه شدم :

    Cross-thread operation not valid: Control 'Pnl_Container' accessed from a thread other than the thread it was created on.

    کدی که در ایونت do Work نوشتم اینه:


    ShowMask("Sending ...");
    ِ//do somthing
    HideMask();

    backgroundWorker1.CancelAsync();
    this.Cursor = Cursors.Default;
    وقتی به متد ShowMask میره ارور نمایش داده میشه!
    آیا در این ایونت امکان اجرای متدی نیست؟ من کد متد ماسک رو داخل خود ایونت هم نوشتم باز ارور داد!
    مفهوم ارور بالا چیه و راه حلش؟

  24. #24
    کاربر دائمی آواتار hamid.shekasteh
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    شیراز
    پست
    192

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    وقتی به متد ShowMask میره ارور نمایش داده میشه!
    آیا در این ایونت امکان اجرای متدی نیست؟ من کد متد ماسک رو داخل خود ایونت هم نوشتم باز ارور داد!
    مفهوم ارور بالا چیه و راه حلش؟

    وقتی با ترد ها کار می کنید(backgroundWorker در پشت صحنه با ترد ها کار میکنه) نمی تونید منابعی رو که در اختیار سایر ترد هاست تغییر بدهید اینجا احتمالا شما یه تغییر روی کنترل 'Pnl_Container' که در اختیار UI هست و در کنترل ترد مربوط به backgroundWorker1 نیست در وسط کارهایی که در ترد backgroundWorker انجام میشه ، انجام دادید.

    راه حل اینه که خاصیت WorkerReportsProgress را true کنید و بعد از رویداد ProgressChanged استفاده کنید.

  25. #25

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    نقل قول نوشته شده توسط projeha مشاهده تاپیک
    وقتی با ترد ها کار می کنید(backgroundWorker در پشت صحنه با ترد ها کار میکنه) نمی تونید منابعی رو که در اختیار سایر ترد هاست تغییر بدهید اینجا احتمالا شما یه تغییر روی کنترل 'Pnl_Container' که در اختیار UI هست و در کنترل ترد مربوط به backgroundWorker1 نیست در وسط کارهایی که در ترد backgroundWorker انجام میشه ، انجام دادید.

    راه حل اینه که خاصیت WorkerReportsProgress را true کنید و بعد از رویداد ProgressChanged استفاده کنید.
    عمل میکنه ولی سیستم هنگه!
    نمونه ای میشه لطف کنید که من متوجه شم چکار باید انجام داد؟

    با تشکر

  26. #26

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    برای حل مشکلم اومدم تمام کد هایی که مربوط به متد هایی خارج از ایونت DoWork بود رو اوردم داخل ایونت و مقادیر رو در یک استرینگ ریختم و از متغییر ها در کد داخل ایونت استفاده کردم که نیازی به صدا زدن متدی خارج از بلاک ایونت نباشد ...

    مشکلم حل شد ولی این روش درسته؟!

  27. #27
    کاربر دائمی آواتار hamid.shekasteh
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    شیراز
    پست
    192

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    فکر می کنم که یه سربار اضافی به وجود آوردید ، فکر کنید که اگر بخوهید اونو تغییر بدین یا ارتقاش بدین بازم جواب بده مثلا فکر کنید که می خواهید درصد پیشرفت عملیات رو توی PeogressBar نمایش بدین(ظاهرا می خواین که فقط یه نوشته هنگام پروسه سنگینتون نمایش داده بشه).
    این جا هست که باید از ReportProgress استفاده کنید.

    نمی دونم مشکل جناب خانی حل شده یا نه من سریع برنامه ای که برای دیباگ در پست شماره 9 همین تاپیک گذاشته بودن رو بررسی و تصحیح کردم، دوستان ببینید و نظر بدین.توی این کد از رویداد RunWorkerCompleted استفاده کردم
    ان شا الله یه نمونه کاملتر رو می ذارم.
    فایل های ضمیمه فایل های ضمیمه

  28. #28

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    نقل قول نوشته شده توسط projeha مشاهده تاپیک
    فکر می کنم که یه سربار اضافی به وجود آوردید ، فکر کنید که اگر بخوهید اونو تغییر بدین یا ارتقاش بدین بازم جواب بده مثلا فکر کنید که می خواهید درصد پیشرفت عملیات رو توی PeogressBar نمایش بدین(ظاهرا می خواین که فقط یه نوشته هنگام پروسه سنگینتون نمایش داده بشه).
    این جا هست که باید از ReportProgress استفاده کنید.

    نمی دونم مشکل جناب خانی حل شده یا نه من سریع برنامه ای که برای دیباگ در پست شماره 9 همین تاپیک گذاشته بودن رو بررسی و تصحیح کردم، دوستان ببینید و نظر بدین.توی این کد از رویداد RunWorkerCompleted استفاده کردم
    ان شا الله یه نمونه کاملتر رو می ذارم.
    با سلام مجدد و تشکر از راهنمایی های خوبی که تا الان کردید...

    من برای رفع ارور زیر :
    Cross-thread operation not valid: Control 'Pnl_Container' accessed from a thread other than the thread it was created on.

    در فرم لود خط زیر رو اضافه کردم که در نتیجه کد درست انجام میشه و اروری نمیده :

    Control.CheckForIllegalCrossThreadCalls = false;
    این کد چکار میکنه ؟ آیا این روش اصولی هست ؟
    وقتی در زمانم کار بک گراند ورکر فرم رو میبندیم نیازی هست که در ایونت close فرم عملیات در حال انجام رو cancel کنیم یا اتوماتیک کنسل میشود ؟ ( فرم رو بستیم اما برنامه هنوز باز است)
    آخرین ویرایش به وسیله ostovarit : دوشنبه 15 شهریور 1389 در 13:02 عصر

  29. #29
    کاربر دائمی آواتار hamid.shekasteh
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    شیراز
    پست
    192

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    در فرم لود خط زیر رو اضافه کردم که در نتیجه کد درست انجام میشه و اروری نمیده :

    کد:
    Control.CheckForIllegalCrossThreadCalls = false;
    این کد چکار میکنه ؟ آیا این روش اصولی هست ؟
    با سلام
    در مورد CheckForIllegalCrossThreadCalls من هنوز با اون کار نکردم اما پیزی که از Summary خود VS پیداست ظاهرا این false کردن این پروپرتی باعث میشه خطاهایی که در مورد thread های ناصحیح (wrong thread) ، call نشه.
    این کد رو کجا دیدید؟ اعتبار سایت و نویسنده و موردی که این کد توصیه شده رو در نظر بگیرید...
    وقتی در زمانم کار بک گراند ورکر فرم رو میبندیم نیازی هست که در ایونت close فرم عملیات در حال انجام رو cancel کنیم یا اتوماتیک کنسل میشود ؟ ( فرم رو بستیم اما برنامه هنوز باز است)
    در مورد cancel کردن یا نکردن تصور کنید که thread مربوط به BackgroundWorker در حال اجراست، فرم رو می بندید (برنامه در حال اجراست)ظاهرا هم خطایی نیست ، اما اگه بلا فاصله دکمه close برای فرم اصلی زده شد و برنامه پایان یافت چی؟باز هم wrong thread.

    دقت کنید که برای RunWorkerCompleted 3 حالت وجود دارد:
    1- کار مورد نظر(متد DoWork) به طور کامل انجام شود.
    2- عملیات calcel شود.
    3- خطایی رخ دهد.

    به نظر منcancel کنید.

  30. #30

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    نقل قول نوشته شده توسط projeha مشاهده تاپیک
    با سلام
    در مورد CheckForIllegalCrossThreadCalls من هنوز با اون کار نکردم اما پیزی که از Summary خود VS پیداست ظاهرا این false کردن این پروپرتی باعث میشه خطاهایی که در مورد thread های ناصحیح (wrong thread) ، call نشه.
    این کد رو کجا دیدید؟ اعتبار سایت و نویسنده و موردی که این کد توصیه شده رو در نظر بگیرید...
    با سلام و تشکر از راهنمایی که فرمودید ...

    در مورد CheckForIllegalCrossThreadCalls من یک بریک پونت گذاشتم و انجام کارا رو دنبال کردم حرف شما صحیح هست exception وجود داره ولی نشون داده نمیشه ... و با کمال تعجب نرم افزار کارش رو به خوبی و درست انجام میده !

    الان مشکلی نیست ولی من میترسم که نکته ای باشه که ندیده باشم ...

    دوستان دیگر چیزی در مورد این Property میدونن بگن ما هم روشن بشیم ...

    با تشکر

  31. #31

    نقل قول: ProgressBar : در زمان لود اطلاعات در گرید "اطلاعات در حال بار گذاری است" نمایش داده شود

    چرا انقدر جواب رو م پیچونید جواب خیلی ساده است.
    progressbar1.maximum=dategridview1.rows.count
    progressbar1.value=dategridview1.countrow

برچسب های این تاپیک

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

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