ورود / ثبت نام
0
0

چگونه از Timer در WPF استفاده کنیم

747 بازدید
Timer در WPF

Timer در WPF

در این مقاله درباره چگونگی اجرا کردن Timer در WPF با استفاده از DispatchTimer را صحبت خواهیم کرد.برای آشنایی بیشتر با TImer در WPF با من همراه باشید . در این مقاله یک اپلیکیشن WPF ایجاد می کنیم که یک کنترل ListBox داشته باشد و این کنترل هر ثانیه مطابق با زمان فعلی بروز شود. سورس نیز در انتهای مطلب برای دانلود قرار داده شده است …

Timer در WPF

 

Timer در WPF

ایجاد یک DispatchTimer

XAMLاز هیچ یک از ویژگی های timer پشتیبانی نمی کند و WPF زمان سنج کنترل (Timer control) ندارد. DispatchTimer در System.Windows تعریف شده است.از Threading namespace برای اضافه کردن قابلیت های timer به WPF استفاده می شود.

تکه کد زیر یک DispatchTimer object ایجاد می کند.

DispatcherTimer dispatcherTimer = new DispatcherTimer();

تنظیم تیک (Setting Tick) و بازه (Interval)

زمانی که DispatchTimerاز بازه داده شده (given Interval) آغاز شود کنترل کننده رخداد های تیک (Tick) اجرا می شود.

تکه کد زیر تیک و بازه DispatchTimer را تنظیم می کند.

dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
 dispatcherTimer.Interval = new TimeSpan(0, 0, 1); 

آغاز DispatchTimer

روش آغاز DispatchTimer.

    dispatcherTimer.Start();

تکمیل مثال کد

تک کد لیست ۱، یک DispatchTimer ایجاد می کند، رخدادهای Tick و ویژگی Intervalخود را تنظیم می کند و متود آغاز را فرا می خواند. متود آغاز،timer و کنترل کننده رخداد های Tick را تنظیم می کند. در این کد، روی کنترل کننده Tick، یک ListBox control را بروز می کنیم و زمان فعلی را اضافه می کنیم.

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    DispatcherTimer dispatcherTimer = new DispatcherTimer();
    dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
    dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
    dispatcherTimer.Start();
} 
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    listBox1.Items.Add(DateTime.Now.ToString("HH:mm:ss") );   
    CommandManager.InvalidateRequerySuggested();
    listBox1.Items.MoveCurrentToLast();
    listBox1.SelectedItem = listBox1.Items.CurrentItem;
    listBox1.ScrollIntoView(listBox1.Items.CurrentItem);
}

موفق باشید !

آیا این مطلب را می پسندید؟
https://www.mspsoft.com/?p=16343
اشتراک گذاری:
واتساپتوییترفیسبوکپینترستلینکدین
محمد نجفی
مطالب بیشتر
برچسب ها:

نظرات

1 نظر در مورد چگونه از Timer در WPF استفاده کنیم

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *