由于您使用的是 Wpf,因此我制作了快速工作示例。确保您的项目引用看起来像这样。
主窗口
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Forms;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
Timer tmr = new Timer();
public MainWindow()
{
InitializeComponent();
tmr.Interval = 2000;
tmr.Tick += new EventHandler(tmr_Tick);
tmr.Start();
}
void tmr_Tick(object sender, EventArgs e)
{
tmr.Stop();
throw new NotImplementedException();
}
}
}
正如 roken 所说,如果你可以使用 Wpf Dispatcher Timer 会更容易。在查看示例链接时,没有迫切需要使用 Windows 窗体计时器,由于这是一个 WPF 程序,因此调度程序计时器在这种情况下可以正常工作。
编辑根据您的链接修改
public partial class MainWindow : Window
{
System.Windows.Threading.DispatcherTimer tmrStart = new System.Windows.Threading.DispatcherTimer();
System.Windows.Threading.DispatcherTimer tmrStop = new System.Windows.Threading.DispatcherTimer();
public MainWindow()
{
InitializeComponent();
tmrStart.Interval = TimeSpan.FromSeconds(2); //Delay before shown
tmrStop.Interval = TimeSpan.FromSeconds(3); //Delay after shown
tmrStart.Tick += new EventHandler(tmr_Tick);
tmrStop.Tick += new EventHandler(tmrStop_Tick);
}
void tmrStop_Tick(object sender, EventArgs e)
{
tmrStop.Stop();
label1.Content = "";
}
void tmr_Tick(object sender, EventArgs e)
{
tmrStart.Stop();
label1.Content = "Success";
tmrStop.Start();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
tmrStart.Start();
}
}