使用按钮呼叫计时器
本文关键字:计时器 呼叫 按钮 | 更新日期: 2023-09-27 18:36:39
我创建了一个每秒更新一次的计时器
using System.Windows.Threading;
public MainWindow()
{
InitializeComponent();
_dt_tick.Tick += new EventHandler(_dt_Tick);
_dt_tick.Interval = new TimeSpan(0, 0, 1);
_dt_tick.Start();
}
之后,我创建了一个链接到此计时器的函数
private void _dt_Tick(object s, EventArgs e)
{
try
{
......
}
catch (Exception _ex)
{ MessageBox.Show(_ex.ToString(), "Error in Timer", MessageBoxButton.OK, MessageBoxImage.Error); }
}
我想要的是单击一个按钮后重新启动此计时器
private void button1_Click(object sender, RoutedEventArgs e)
{
...........
}
我已经尝试过_dt_Tick(对象 s,事件参数 e),但它不起作用
任何想法请,真的很紧急。
如何使用stop
和Start
方法?
private void button1_Click(object sender, RoutedEventArgs e)
{
_dt_tick.Stop();
_dt_tick.Start();
}
更新
>>>啊,你的问题不清楚,但现在我明白你想要什么了。但是,手动调用事件处理程序是一种不好的做法。相反,添加从事件处理程序调用的新方法。然后,您也可以从其他任何地方调用该方法:
private void _dt_Tick(object s, EventArgs e)
{
DoSomething();
}
private void DoSomething()
{
try
{
...
}
catch (Exception _ex)
{
MessageBox.Show(_ex.ToString(), "Error in Timer", MessageBoxButton.OK,
MessageBoxImage.Error);
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
DoSomething();
}
假设_dt_tick
是一个 Timer 对象,为什么不在button1_Click
中使用以下代码?
_dt_tick.Stop();
_dt_tick.Start();