C#计时器学习笔记

C#计时器类型

C#中提供了三种类型的计时器:
  1、基于 Windows 的标准计时器(System.Windows.Forms.Timer)
  2、基于服务器的计时器(System.Timers.Timer)
  3、线程计时器(System.Threading.Timer)

1、基于 Windows 的标准计时器(System.Windows.Forms.Timer)为单线程所设计,这个计时器是使用最简单的一种,在Winform中,只要把工具箱中的Timer控件拖到窗体上,然后设置一下事件和间隔时间等属性就可以了。
2、System.Timers.Timer不依赖窗体,是从线程池唤醒线程,是传统的计时器为了在服务器环境上运行而优化后的更新版本。
3、线程计时器(System.Threading.Timer)也不依赖窗体,是一种简单的、轻量级计时器,它使用回调方法而不是使用事件,并由线程池线程提供支持,WPF中一般用的是这种,下面举例。

计时器实例—定时清空Label控件中的内容

using System.Windows.Threading;

// 定义一个空的计时器
DispatcherTimer timer = null;
// 定义一个循环次数标志
int clearTimes = -1;

// 在窗口初始化构造函数中进行实现
public MainWindow()
{
	InitializeComponent();

	// 初始化定时器
	timer = new DispatcherTimer();
	// 设置定时器参数
	timer.Interval = new TimerSpan(0,0,0,0,100);
	// 为这个定时器的事件添加订阅者
	timer.Tick += delegate (object sender,EventArgs e)
	{
		// 20次出发一下,20*100=2000ms=2s
		if (clearTimes < 0)
		{
			return;
		}
		else if (clearTimes > 20)
		{
			this.label.Content = "";
			clearTimes = -1;
		}
		else
		{
			clearTimes++;
		}	
	};
	//触发计时器
	timer.Start();
}
发布了32 篇原创文章 · 获赞 16 · 访问量 4720

猜你喜欢

转载自blog.csdn.net/weixin_44879611/article/details/102637580
今日推荐