עבור לתוכן

למה שהטיימר נכנס לפעולה הוא מתחיל בדיליי עוד לפני שהוא נכנס לפונקציה ? (C#)

Featured Replies

פורסם

יש לי טיימר שעושה פעולה מסויימת כשהוא מופעל (interval של 1000 מילישניות), למה איך שאני מפעיל אותו יש קודם כל דיליי של שנייה כמו שמוגדר לו ורק אז הוא בעצם נכנס לפונקציה ועושה מה שמוגדר לו ?

יש דרך להתגבר על זה ?

פורסם

זאת המשמעות של טיימר...

שמת לו אינטרוול והוא מקיים אותו, אתה תמיד יכול לשים ערך התחלתי של 1 מילי שניה ובתוך הפונקציה לשנות את הערך ל-1000 מילי שניה לאחר הריצה הראשונה.

ד"א, עניתי לך על השאלה של "לולאות ב-C#" אם מצאת פיתרון תרשום אותו ע"מ שחבר'ה שנתקלים באותה בעיה אחריך תהיה להם תשובה

פורסם
  • מחבר

תודה רבה.

בקשר לשאלה שלי מאתמול עדיין לא מצאתי פיתרון לצערי, אני בטח יגיע לזה מחר.

פורסם
  • מחבר

עשיתי מה שרשמת לי ואחרי ההרצה הראשונה רשמתי timer.interval = 1000

ההרצה הראשונה עוברת בסדר אבל הבאות מפספסות בשנייה

פורסם
  • מחבר


private void timer_Tick(object sender, EventArgs e)
{
//do something
timer.Interval = 1000;
}

מה שקורה בתוך הטיימר זה שאני מעדכן לייבל מסויים והוא סופר אחורה.

פורסם

זה תלוי באיזה Timer אתה משתמש , אם אתה משתמש בזה של system.threading אז אתה יכול להגדיר את זמן ההתחלה ואת האינטרוול -

new timer (someFunction,this, 0 ,6000)s

פורסם
  • מחבר

אני משתמש בזה של Winform

פורסם
  • מחבר

מישהו ?

פורסם

איך אתה יודע שהטיימר מפספס בשניה?

פורסם

מישהו ?

אל תקפיץ דיונים לפני שעברו 24 שעות מההודעה האחרונה.

פורסם

אם חשוב לך להתחיל את הפעולה בלי השהיה אתה יכול לקרוא לפונקצייה של הלוגיקה ישירות מת'רד נפרד.

 void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e(
myLogic();


ThreadPool.QueueUserWorkItem((object) => myLogic ());

תתחיל את הת'רד ישר אחרי שאתה מאתחל את הטיימר

פורסם
  • מחבר

אני אנסה את השיטה הזו למרות שבסופו של דבר הסתדרתי, הציעו לי פה להגדיר את ה-interval של הטיימר ל-1 מילישנייה, וישר אחרי הפעולה הראשונה (זו שהתעכבה בשנייה) איך שהוא נכנס לפונקציה שלו להגדיר את ה- interval ל-1000 (שנייה אחת) ובסוף ממש אחרי שאני עושה timer.stop להגדיר שוב את ה-interval של הטיימר ל-1 מילישנייה ואז עכשיו הכל מסונכרן ועובד טוב.

פורסם
  • מחבר

כי אני רוצה שהטיימר יכנס לפעולה רק כשהוא צריך ולא יטחן כל הזמן סביב הפונקציה שלו

יש עם זה בעיה ?

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים