博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 如何用计时器Timer控件实现停留几秒再做切换窗体的操作
阅读量:5233 次
发布时间:2019-06-14

本文共 1891 字,大约阅读时间需要 6 分钟。

C# Timer用法及实例详解

关于C# Timer类  在C#里关于定时器类就有3个

C# Timer使用的方法1.定义在System.Windows.Forms里

C# Timer使用的方法2.定义在System.Threading.Timer类里  "

C# Timer使用的方法3.定义在System.Timers.Timer类里

◆System.Windows.Forms.Timer

应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API  SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console  Application(控制台应用程序)无法使用。   

  
◆System.Timers.Timer

和System.Threading.Timer非常类似,它们是通过.NET  Thread  Pool实现的,轻量,计时精确,对应用程序、消息没有特别的要求。

◆System.Timers.Timer还可以应用于WinForm,完全取代上面的Timer控件。它们的缺点是不支持直接的拖放,需要手工编码。

C# Timer用法实例

使用System.Timers.Timer类

 

1
2
3
4
5
6
7
8
9
System.Timers.Timer t = 
new 
System.Timers.Timer(10000);   
//实例化Timer类,设置间隔时间为10000毫秒;   
    
t.Elapsed += 
new 
System.Timers.ElapsedEventHandler(theout); 
//到达时间的时候执行事件;   
    
t.AutoReset = 
true
;   
//设置是执行一次(false)还是一直执行(true);   
    
t.Enabled = 
true
;     
//是否执行System.Timers.Timer.Elapsed事件;   
     
    
public 
void 
theout(
object 
source, System.Timers.ElapsedEventArgs e)   
     
{   
        
MessageBox.Show(
"OK!"
);   
     
}
 

采纳率:95% 来自团队: 擅长:     

其他回答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using 
System;
using 
System.Collections.Generic;
using 
System.ComponentModel;
using 
System.Data;
using 
System.Drawing;
using 
System.Linq;
using 
System.Text;
using 
System.Windows.Forms;
 
namespace 
WindowsFormsApplication1
{
    
public 
partial 
class 
Form1 : Form
    
{
        
int 
a = 0;
        
public 
Form1()
        
{
            
InitializeComponent();
        
}
 
        
private 
void 
button1_Click(
object 
sender, EventArgs e)
        
{
            
timer1.Enabled = 
true
;
        
}
         
        
private 
void 
timer1_Tick(
object 
sender, EventArgs e)
        
{
            
a += 1;
            
progressBar1.Value = a;
             
            
if 
(a == 5) {
                
Form2 frm = 
new 
Form2();
                
timer1.Enabled = 
false
;
                
a = 0;
                
frm.Show();
                
this
.Hide ();
             
}
        
}
 
        
private 
void 
Form1_Load(
object 
sender, EventArgs e)
        
{
            
progressBar1.Maximum = 5;
            
progressBar1.Minimum =0;
            
progressBar1.Value = 0;
            
timer1.Interval = 1000;
        
}
    
}
}

转载于:https://www.cnblogs.com/zxtceq/p/5894949.html

你可能感兴趣的文章
《深入理解Android2》读书笔记(五)
查看>>
《构建之法》(七)
查看>>
${}
查看>>
结对编程
查看>>
mouseenter事件和mouseover事件
查看>>
谈C#中的Delegate
查看>>
MATLAB中将mat文件转为txt格式文件
查看>>
重载运算符问题
查看>>
《原创》U3D + KBE Demo环境搭建过程详细记录
查看>>
setValue和setObject的区别
查看>>
前端开发工具包 WijmoJS 2019V1正式发布:全新的在线 Demo 系统,助您快速上手,开发无忧...
查看>>
6.MIL采集和实时显示
查看>>
UWP ListView添加分割线
查看>>
字符串处理常用函数
查看>>
LeetCode 242 有效的字母异位词
查看>>
Android dialog全屏显示
查看>>
HDFS读写数据流程
查看>>
less的学习
查看>>
我的虚拟机挂了!怎么把镜像里面的数据找回来?
查看>>
Mesos源码分析(3): Mesos Master的启动之二
查看>>