关于timer和计数器的性能 首先你先搞清楚form的timer不是异步的,会阻塞线程,它执行时,你干不了别的事,界面也会卡,所以你可以考虑 用线程去做 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第2种方法好些,但是凡使用Timer要要考虑重入问题,如果循环间隔时间到了,但是内部还没有执行完,则Timer会再次触发处理逻辑,这样会导致其他异常发生。建议将耗时的处理放在线程中去,这样比timer稳妥 一样的,所有timer都在主线程中,只不过相当于定义了2个函数,分别挂在2个事件下一个执行,会影响另一个的执行所以想不干扰,还是要放到线程中去 不知道该如何实验哦,计数器的可以做,那个timer控件的不知道如何去评估 向指定日期添加时间间隔private DateTime G_datetime;//定义时间字段 private void Frm_Main_Load(object sender, EventArgs e) { G_datetime=DateTime.Now;//得到系统当前时间 lab_time.Text = G_datetime.ToString(//显示时间信息 "时间: yyyy年M月d日 H时m分s秒"); } private void btn_AddM_Click(object sender, EventArgs e) { G_datetime = DateAndTime.DateAdd(//向时间字段中添加一分钟 DateInterval.Minute, 1, G_datetime); lab_time.Text = G_datetime.ToString(//显示时间信息 "时间: yyyy年M月d日 H时m分s秒"); } private void btn_AddH_Click(object sender, EventArgs e) { G_datetime = DateAndTime.DateAdd(//向时间字段中添加一小时 DateInterval.Hour, 1, G_datetime); lab_time.Text = G_datetime.ToString(//显示时间信息 "时间: yyyy年M月d日 H时m分s秒"); } private void btn_addD_Click(object sender, EventArgs e) { G_datetime = DateAndTime.DateAdd(//向时间字段中添加一天 DateInterval.Day, 1, G_datetime); lab_time.Text = G_datetime.ToString(//显示时间信息 "时间: yyyy年M月d日 H时m分s秒"); } WebService 查到60万数据,如何用JSON返回 java刻度转c#日期 如何快速判断数据库失去连接?请注意是快速响应的。 怎样在winform下做一个类似IE7 的在新选项卡中打开链接 打印实时曲线,边出曲线图,边打印出来!请高手指点!特急! 求救如何把DLL类型的文件存入数据库中 100求助,一个关于DataTable的问题 怎么将griview中的数据导入到excel中???并且提示保存路径 难死我了 大家来挑战下 怎么快速读取一定格式的文本 64位电脑中的32位winfrom程序怎么弄通过一个窗口句柄访问一个64位窗口的文件路径 c# 如何实现程序在指定的时间执行?
如果循环间隔时间到了,但是内部还没有执行完,则Timer会再次触发处理逻辑,
这样会导致其他异常发生。
建议将耗时的处理放在线程中去,这样比timer稳妥
一个执行,会影响另一个的执行
所以想不干扰,还是要放到线程中去
private DateTime G_datetime;//定义时间字段
private void Frm_Main_Load(object sender, EventArgs e)
{
G_datetime=DateTime.Now;//得到系统当前时间
lab_time.Text = G_datetime.ToString(//显示时间信息
"时间: yyyy年M月d日 H时m分s秒");
}
private void btn_AddM_Click(object sender, EventArgs e)
{
G_datetime = DateAndTime.DateAdd(//向时间字段中添加一分钟
DateInterval.Minute, 1, G_datetime);
lab_time.Text = G_datetime.ToString(//显示时间信息
"时间: yyyy年M月d日 H时m分s秒");
}
private void btn_AddH_Click(object sender, EventArgs e)
{
G_datetime = DateAndTime.DateAdd(//向时间字段中添加一小时
DateInterval.Hour, 1, G_datetime);
lab_time.Text = G_datetime.ToString(//显示时间信息
"时间: yyyy年M月d日 H时m分s秒");
}
private void btn_addD_Click(object sender, EventArgs e)
{
G_datetime = DateAndTime.DateAdd(//向时间字段中添加一天
DateInterval.Day, 1, G_datetime);
lab_time.Text = G_datetime.ToString(//显示时间信息
"时间: yyyy年M月d日 H时m分s秒");
}