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

نام تاپیک: ایجاد delay در اجرای دستورات

  1. #1

    Question ایجاد delay در اجرای دستورات

    سلام

    اگر بخوام بین اجرای دستورات توی یه صفحه تاخیری به وجود بیاد چی کار باید کرد؟

  2. #2

    نقل قول: ایجاد delay در اجرای دستورات

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

    سلام.

    System.Threading.Thread.Sleep(1000);


    باعث میشه تا Thread فعلی یک ثانیه از کار بیفته.

  3. #3

    نقل قول: ایجاد delay در اجرای دستورات

    سلام به جز روش thread می تونید از حلقه تکرار هم استفاده کرد
    for(int i=numer1 ;i<number2;i++);

  4. #4

    نقل قول: ایجاد delay در اجرای دستورات

    دوستان فرض کنید که یه باتن دارم که توش یه فرم میبندم و بعد میخوام یه فرم رو باز کنم،میخوام بین اینها یه تاخیری به وجود بیاد

  5. #5
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: ایجاد delay در اجرای دستورات

    نقل قول نوشته شده توسط behzad1986 مشاهده تاپیک
    سلام به جز روش thread می تونید از حلقه تکرار هم استفاده کرد
    for(int i=numer1 ;i<number2;i++);
    اینکار کاملا غیر منطقی و نا کارآمد هست .

  6. #6

    نقل قول: ایجاد delay در اجرای دستورات

    نقل قول نوشته شده توسط behzad1986 مشاهده تاپیک
    سلام به جز روش thread می تونید از حلقه تکرار هم استفاده کرد
    for(int i=numer1 ;i<number2;i++);
    سلام.
    حقله تکرار باعث بالا رفتن CPU Usage میشه، اما Sleep، واقعا یک Thread رو به Wait State میبره و باعث از کار افتادن Thread میشه. بنابراین استفاده از حلقه تکرار به هیچ وجه توصیه نمیشه.

    موفق باشید.

  7. #7

    نقل قول: ایجاد delay در اجرای دستورات

    نقل قول نوشته شده توسط pbiuki630 مشاهده تاپیک
    دوستان فرض کنید که یه باتن دارم که توش یه فرم میبندم و بعد میخوام یه فرم رو باز کنم،میخوام بین اینها یه تاخیری به وجود بیاد
    خوب، فرم رو ببندید (Close) سپس Sleep کنید، و در نهایت فرم دیگه رو Show کنید!

  8. #8
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: ایجاد delay در اجرای دستورات

    نقل قول نوشته شده توسط pbiuki630 مشاهده تاپیک
    دوستان فرض کنید که یه باتن دارم که توش یه فرم میبندم و بعد میخوام یه فرم رو باز کنم،میخوام بین اینها یه تاخیری به وجود بیاد

    تا حالا هیچ وقت به این مشکل که یک فرم زیادی تند باز میشه به عنوان یک مشکل بر نخوردم.

    مشکل اصلی چی هست که فکر میکنید حلش این روش (اشتباه) است؟

  9. #9

    نقل قول: ایجاد delay در اجرای دستورات

    اسلیپ کل برنامه رو قفل میکنه برا چند سانیه. ولی یه چیزی میخوام که برنامه قفل نشده در عین حال چند ثانیه طول بکشه. دقیقا شبیه delay در ویژوال بیسیک.

  10. #10
    کاربر دائمی آواتار رافعی مهدی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Sydney
    سن
    40
    پست
    272

    نقل قول: ایجاد delay در اجرای دستورات

    قبل از هر چیز پیشنهاد میکنم، پاسخ آقای آرژنگ رو به عنوان یک پیش کسوت حرفه ای بدهید. شاید اصلاً به این کار نیازی نداشته باشید.

    اما با این فرض که واقعاً به انجام این کار نیاز باشه، در Net 4.5. میتوانید از await استفاده کنید (برای اطلاعات بیشتر اینجا رو ببینید.) اما اگر استفاده از نسخه های Net. بالاتر از 4 مقدور نیست، چند روش دیگه وجود داره که البته هیچ کدوم به خوبی روش فوق نیست.

    یکی از پر کاربردترین و در عین حال اشتباه ترین روشهایی که (متأسفانه حتی در همین سایت به عنوان نکته آموزشی معرفی شده بود که بعداً (البته خیلی بعدش) توسط مدیر کل سایت اصلاح شد!) برای ایجاد تأخیر در برنامه استفاده میشه متد Application.DoEvents هست که بی شک بیش از اینکه بخواهد مشکلی رو حل کنه، خودش ایجاد مشکل میکنه. بنابراین اولین توصیه اینه که هرگز (در اکثریت قریب به اتفاق موارد) از این متد استفاده نکنید.
    اما در صورتی که در برنامه UI Thread رو با استفاده از متد Sleep به حالت Suspend دربیاورید، همه چیز روی GUI قفل میشه که باز هم روش مناسبی نیست. (مگر اینکه مثلاً ابتدا فرم رو Close کنیم که در مواردی میتونه یک روش منطقی نباشه.)
    بنابراین شاید استفاده از یک System.Windows.Forms.Timer بهترین کار ممکن باشه. برای این کار لازمه Interval مربوط به Timer رو (بر حسب میلی ثانیه) روی مقدار مورد نظر تنظیم کنید و پس از اولین Tick اون رو Stop کرده و ادامه عملیات رو انجام بدهید. (اگر با انجام این کار آشنا نیستید، پست بذارید تا دوستان راهنمایی کنند.)

  11. #11

    نقل قول: ایجاد delay در اجرای دستورات

    سلام من میخوام چند دستور رو که در یک حلقه افتاده تو یک باده ی زمانی مشخص اجرا بشه فکر می کنم از تایع dely استفاده می کنن لطفا راهنمائیم کنید

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

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