timer怎么用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了timer怎么用?相关的知识,希望对你有一定的参考价值。
Timer 控件方案:响应 Timer 事件经历了 Timer 控件的时间间隔后,Visual Basic 将生成 Timer 事件。通常,在响应此事件时将检查某些一般条件,例如系统时钟。
数字型时钟是涉及 Timer 控件的简单而有用的应用程序。一旦理解此应用程序的工作方式,就可增强它的性能,实现闹钟、跑表或其它定时设备的功能。
Digital Clock 应用程序包含一个定时器和一个有边框的标签。
定时器在运行时不可见。下表列出了 Digital Clock 应用程序中的属性设置值。
控件 属性 设置值
Label1 BorderStyle Fixed Single
Timer1 Interval 500(半秒)
Timer1 Enabled True
应用程序中的唯一过程是定时器的事件过程:
Private Sub Timer1_Timer ()
If lblTime.Caption <> CStr(Time) Then
lblTime.Caption = Time
End If
End Sub
过程调用内在的 Time 函数来显示系统时间。此函数返回一个 Variant,以日期/时间数值 (VarType 7) 的形式包含当前时间。将它赋予某个字符串变量或属性时,比如赋予本例中的 Caption 属性时,Visual Basic 将用“控制面板”中指定的格式将其转换成一个字符串。若要用其它格式显示,可使用 Format 函数。
详细信息 请参阅“Format 属性”。
将定时器的 Interval 属性设置为 500,按照上述原则将 Interval 设置为要区分的最短时间(本例中为一秒钟)的一半。这会使 Timer 控件代码每半秒更新一次标签。这样做不仅浪费而且可能导致视觉颤动,因此代码在改变标题之前要检查当前时间是否与在标签上显示的时间不同。
无需另外编写语句就可自定义数字时钟的外观。例如,可为标签选择其它字体或改变窗体的 BorderStyle 属性。 参考技术A Timer 事件示例
这个例子演示一个数字时钟。 要尝试这个例子,可以将代码粘贴到包含一个 Label 控件和一个 Timer 控件窗体的声明部分,然后按 F5。
Private Sub Form_Load ()
Timer1.Interval = 1000 ' 设置计时器时间间隔。
End Sub
Private Sub Timer1_Timer ()
Label1.Caption = Time ' 更新时间显示。
End Sub
本例在一个窗体内移动一个 PictureBox 控件。要尝试这个例子,可以将代码粘贴到一个包含 Timer 控件和一个 PictureBox 控件窗体的声明部分,然后按 F5。为了得到更好的视觉效果,可以将 PictureBox 的 Picture 属性赋值为一个位图。
Dim DeltaX, DeltaY As Integer ' 声明变量。
Private Sub Timer1_Timer ()
Picture1.Move Picture1.Left + DeltaX, Picture1.Top + DeltaY
If Picture1.Left < ScaleLeft Then DeltaX = 100
If Picture1.Left + Picture1.Width > ScaleWidth + ScaleLeft Then
DeltaX = -100
End If
If Picture1.Top < ScaleTop Then DeltaY = 100
If Picture1.Top + Picture1.Height > ScaleHeight + ScaleTop Then
DeltaY = -100
End If
End Sub
Private Sub Form_Load ()
Timer1.Interval = 1000 ' 设置时间间隔。
DeltaX = 100 ' 初始化变量。
DeltaY = 100
End Sub
参考资料:vb msdn中的两个例子
参考技术B Timer是一个控件,用于事件方面的应用Timer控件主要会用到2个属性一个是Enabled和Interval
Enabled主要是控制当前Timer控件是否可用
timer1.Interval主要是设置timer2_Tick事件的时间,单位为毫秒到9:00提示去上厕所:(
把timer2.Interval=60000;//1分钟
private void timer2_Tick(object sender, System.EventArgs e)
string cesuotime=DateTime.Now.DateTime.Now.ToShortTimeString();//得到现在的时间
if(cesuotime.equles("9:00"))
timer1.Enabled=false;
MessageBox.show("该去上厕所了");
timer1.Enabled=true;//如果不先把enabled设置成false对话框会一直弹下去
本回答被提问者采纳
settimer 怎么用
程序代码在一个FOR循环中
CPoint p1,p2;
p1.x=LineIndex*25;
p1.y=RowIndex*25;
p2.x=LineIndex*25+25;
p2.y=RowIndex*25+25;
CBrush brush(RGB(255,255,255));
CClientDC dc(this);
---------dc.FillRect(CRect(p1,p2),&brush);--------
希望每过0.1秒运行一次用减号标注出来的代码要怎么用settimer
我试过在那行代码之前加
SetTimer(1,1000,NULL);
但是不管用
具体怎么写 麻烦演示下
1.在需要添加定时器的类名上右键选择Add Windows Message Handler,然后添加相应消息WM_TIMER.
2.在程序中需要启动计时器的地方
UINT SetTimer(
UINT nIDEvent,
UINT nElapse,
void (CALLBACK EXPORT* lpfnTimer)(
HWND, UINT, UINT, DWORD) );
第一个参数为定时器id,第二个参数为间隔时间,以毫秒为单位,第三个参数为处理过程入口地址,一般为NULL;
例如SetTimer(1,500,NULL);
3.在CXXXDlg::OnTimer(UINT nIDEvent);
函数中添加处理代码
4.在需要销毁定时器的地方
BOOL KillTimer(
int nIDEvent ); //参数为定义器的id,需与SetTimer中一致
例如KillTimer(1); 参考技术A SetTimer以后还要在消息映射里写对应的On_Timer事件 参考技术B 0.1秒的话,第二个参数不是100么……
nElapse
Specifies the time-out value, in milliseconds.
以上是关于timer怎么用?的主要内容,如果未能解决你的问题,请参考以下文章