• دستور if بين ثانيه هاي يك تايمر
    #1
    Note 
    سلام ميخواستم بدونم راهي هست واسه تايمري كه اينتروالش 40 ثانيه هست و در حال كار كردنه.وقتي كه داره از ثانيه 20 رد ميشه يه ايف بزاريم براش؟

    پاسخ
    #2
    Note 
    سلام
    نه راهی وجود نداره
    * if رو فارسی مینویسی؟ :wacsmiley:

    پاسخ
    #3
    Note 
    سلام
    نه

    پاسخ
    #4
    Note 
    ممنون.خب كدي هم نيست كه شبيه thread.sleep عمل كنه.اما كل برنامه رو متوقف نكنه؟يا ميشه thread.sleep رو فقط براي يه قسمت خاص به كار برد؟اگه ميشه توضيح بديد لطفا

    پاسخ
    #5
    Note 
    میتونی از کنترل Background worker استفاده کنی ([url=google.com/search?sitesearch=SoftAfzar.Net&q=backgroundworker] تاپیک های مربوطه[/url] )
    در ضمن به این تاپیک هم سر بزن:
    اگر دقیقا بگی میخوای چیکار کنی بهتر میتونیم کمکت کنیم.

    مردم دنیا 10 دسته هستند: کسانی که باینری میفهمند و کسانی که باینری نمیفهمند !
    پاسخ
    #6
    Note 
    من يه متد تايمر دارم كه دوتا Xml توش هست.ميخوام 1 xml رو كه فرستاد 2 xml رو 20 ثانيه بعدش بفرسته
    ميشد از thread.sleep استفاده كرد اما كل برنامه رو غير فعال ميكنه.

    يه راه ديگه هم به نظر خودم رسيد كه مثلا اگه xml 1 رو تو ثانيه 0 بفرسته و اينتروال تايمر 40 باشه xml 2 رو بزارم رو ثانيه 20 بفرسته كه گفتن راهي وجود نداره

    پاسخ
    #7
    Note 
    از اول همینو میگفتی خیلی زودتر به جواب میرسیدی چون یه راه حل خیلی ساده وجود داره
    interval رو بذاری روی 1000 متغیر بذار که در هر ثانیه یه واحد بهش اضافه بشه بعد چک کن اگر متغیر 20 شده کار اول و اگر 40 شده کار دوم رو انجام بده و تایمر رو غیر فعال کنه

    کد:
    [CSHARP]
    int second = 0;
    private void timer1_Tick(object sender, EventArgs e)
    {
    second++;
    if (second == 20)
    {
    // first xml
    }
    else if (second == 40)
    {
    //second xml
    timer1.Enabled = false;
    }
    }
    [/CSHARP]

    مردم دنیا 10 دسته هستند: کسانی که باینری میفهمند و کسانی که باینری نمیفهمند !
    پاسخ
    #8
    Note 
    دمت گرم از 10 نفر پرسیدم همین سوال رو نتونستن جواب بدن.هزارتا راه دیگه گفتن هیچکدومشم به جواب نمیرسید.مرسی

    پاسخ
    #9
    Note 
    ببخشید یه مشکل دیگه.حالا اگه بخوایم این چرخه تکرار بشه.یعنی بعد از اینکه تایمر غیر فعال شد دوباره فعال بشه و دوباره تو ثانیه های 20 و 40 کد رو بفرسته چیکار باید کرد؟

    پاسخ
    #10
    Note 
    exe نوشته است:ببخشید یه مشکل دیگه.حالا اگه بخوایم این چرخه تکرار بشه.یعنی بعد از اینکه تایمر غیر فعال شد دوباره فعال بشه و دوباره تو ثانیه های 20 و 40 کد رو بفرسته چیکار باید کرد؟
    بفرما
    [CSHARP]
    int second = 0;
    private void timer1_Tick(object sender, EventArgs e)
    {
    second++;
    if (second == 20)
    {
    // first xml
    }
    else if (second == 40)
    {
    //second xml
    second = 0;
    }
    }
    [/CSHARP]

    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    موضوعات مرتبط با این موضوع...
    موضوع نویسنده پاسخ بازدید آخرین ارسال
    Note غیر فعال کردن Output Box در ویژوال استودیو The Arrow 2 619 31-08-2014 ساعت 13:46
    آخرین ارسال: xMAN
    Note بررسي باز بودن يا نبودن يك برنامه در c# The Arrow 1 508 18-12-2013 ساعت 14:05
    آخرین ارسال: Stack OverFlow
    Note مشکل با دستور Replace در سی شارپ The Arrow 10 1,423 02-05-2013 ساعت 21:15
    آخرین ارسال: The Arrow

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان