PDA

View Full Version : سوال: timer در سیلورلایت



hamidhws
یک شنبه 15 اسفند 1389, 04:18 صبح
سلام دوستان

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

میخواستم ببینم آیا این کنترل در سیلورلایت هست یا نه؟ اگه هست کجاست و اگه نیست آیا راهی هست که بشه چیزی شبیه به کار تایمر ساخت؟

Somayeh_Zamani
یک شنبه 15 اسفند 1389, 14:17 عصر
سلام دوستان

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

میخواستم ببینم آیا این کنترل در سیلورلایت هست یا نه؟ اگه هست کجاست و اگه نیست آیا راهی هست که بشه چیزی شبیه به کار تایمر ساخت؟

hi



public partial class Window1 : Window
{
System.Windows.Threading.DispatcherTimer _timer;
public Window1()
{
InitializeComponent();
_timer = new System.Windows.Threading.DispatcherTimer();
_timer.Tick += new EventHandler(_timer_Tick);
_timer.Interval = new TimeSpan(0, 0, 10);
_timer.Start();
}

void _timer_Tick(object sender, EventArgs e)
{
// your favorite statements
}
}

taghvajou
پنج شنبه 19 اسفند 1389, 01:54 صبح
فقط حواسمون باشه که تضمینی نیست که این تایمر تو دیسپچر در فاصله زمانی تعیین شده (اینتروال) اجرا بشه! این هم برمیگرده که عملیات اجرایی این دیسپچرها میره تو صف! مثل بقیه عملیات های سیستم عامل و اجراشون بستگی به اجرای سایر عملیاتهای تو صف داره به تناسب اولویتشون. البته از اون طرف اجرا نشدن تایمر تا پایان یه فاصله زمانی تضمین شده است.

به نظر بنده میشه از همون تایمر از نیم اسپیس تریدینگ استفاده کرد


Timer t = new Timer(callback)
public TimerCallback callback { get; set; }




البته سوتفاهم نشه! چرا که ترد (Thread) مربوط به تایمرها متفاوت از ترد یو آی برنامه است به نحوی که در صورت برای دسترسی به اینترفیس باید بیگین ایوک کنین