Em có mẫu code như thế này:
public partial class Window2 : Window
{
public int i, j;
public Window2()
{
InitializeComponent();
i = j = 0;
DispatcherTimer timer1 = new DispatcherTimer();
timer1.Interval = TimeSpan.FromSeconds(1);
timer1.Tick += Mega1;
DispatcherTimer timer2 = new DispatcherTimer();
timer2.Interval = TimeSpan.FromMilliseconds(10);
timer2.Tick += Mega2;
timer1.Start();
timer2.Start();
}
private void Mega1(object sender, EventArgs e)
{
mega1.Text = ((i++)*100).ToString();
}
private void Mega2(object sender, EventArgs e)
{
mega2.Text = (j++).ToString();
}
}
mega2, mega1 đều là 2 textblock, Và kết quả là như thế này:
Rõ ràng là cái timer2 trễ hơn timer1 rất nhiều. Em đã search gg về cái tình trạng này, nhưng mấy cái giải pháp của họ ko làm em thấy hài lòng. :))
Mấy bác có giải pháp nào để không bị trễ như thế này ko ạ? Liệu C# có hỗ trợ cái Interval time nào mak nó ko phải cứ sau 1 khoảng thôi gian cho trước mới lặp mà tức là nó lặp theo thời điểm ý (vd: giây thứ nhất code chạy, giây thứ 2 code chạy thay vì sau 1 giây code chạy, sau 1 giây code chạy)?