如何在 WPF 中使用动态 DispatcherTimer 对象?
How to use dynamic DispatcherTimer object in WPF?
我想在我的 wpf 项目中使用动态 DispatcherTimer 对象。我有一个如下所示的计时器;
DispatcherTimer timer_log = new DispatcherTimer();
我有一个列表,名称是 log_durations。该列表具有持续时间。我用这个方法来管理定时器对象。
int Log = 0,LogDuration=0;
public void set_timer_log(int interval)
{
timer_log.Interval = TimeSpan.FromMilliseconds(interval);
timer_log.Tick += timer_log_Tick;
timer_log.IsEnabled = true;
}
private void timer_log_Tick(object sender, EventArgs e)
{
timer_log.IsEnabled = false;
try
{
if (Log < logs.Length)
{
add_package_log(logs[Log]);
Log++;
LogDuration++;
set_timer_log(log_durations[LogDuration]);
}
}
catch (Exception ex)
{
MessageBox.Show("Timer Log Tick Function Error:" + ex.Message);
}
}
因此,当我对列表中的日志持续时间求和时,例如 10 分钟。但是日志会在 30 秒后显示。
简而言之,计时器对象无法正常工作。问题是什么?没看到。
此代码运行良好。
DispatcherTimer timer_log = new DispatcherTimer();
timer_log.Tick += timer_log_Tick;
int Log = 0,LogDuration=0;
public void set_timer_log(int interval)
{
timer_log.Interval = TimeSpan.FromMilliseconds(interval);
timer_log.IsEnabled = true;
}
private void timer_log_Tick(object sender, EventArgs e)
{
timer_log.IsEnabled = false;
try
{
if (Log < logs.Length)
{
add_package_log(logs[Log]);
Log++;
LogDuration++;
set_timer_log(log_durations[LogDuration]);
}
}
catch (Exception ex)
{
MessageBox.Show("Timer Log Tick Function Error:" + ex.Message);
}
}
我想在我的 wpf 项目中使用动态 DispatcherTimer 对象。我有一个如下所示的计时器;
DispatcherTimer timer_log = new DispatcherTimer();
我有一个列表,名称是 log_durations。该列表具有持续时间。我用这个方法来管理定时器对象。
int Log = 0,LogDuration=0;
public void set_timer_log(int interval)
{
timer_log.Interval = TimeSpan.FromMilliseconds(interval);
timer_log.Tick += timer_log_Tick;
timer_log.IsEnabled = true;
}
private void timer_log_Tick(object sender, EventArgs e)
{
timer_log.IsEnabled = false;
try
{
if (Log < logs.Length)
{
add_package_log(logs[Log]);
Log++;
LogDuration++;
set_timer_log(log_durations[LogDuration]);
}
}
catch (Exception ex)
{
MessageBox.Show("Timer Log Tick Function Error:" + ex.Message);
}
}
因此,当我对列表中的日志持续时间求和时,例如 10 分钟。但是日志会在 30 秒后显示。 简而言之,计时器对象无法正常工作。问题是什么?没看到。
此代码运行良好。
DispatcherTimer timer_log = new DispatcherTimer();
timer_log.Tick += timer_log_Tick;
int Log = 0,LogDuration=0;
public void set_timer_log(int interval)
{
timer_log.Interval = TimeSpan.FromMilliseconds(interval);
timer_log.IsEnabled = true;
}
private void timer_log_Tick(object sender, EventArgs e)
{
timer_log.IsEnabled = false;
try
{
if (Log < logs.Length)
{
add_package_log(logs[Log]);
Log++;
LogDuration++;
set_timer_log(log_durations[LogDuration]);
}
}
catch (Exception ex)
{
MessageBox.Show("Timer Log Tick Function Error:" + ex.Message);
}
}