vb.net timer 定时器
2016-02-24 11:14
483 查看
.net使用timer做计数器是,不要使用循环调用的方式,否则计数器会以2的N次方累加,最终文本框的显示结果是,1,2,4,8,16,而不是1,2,3,4,5...,代码如下:
'需要用到的控件,一个textbox,一个timer
Sub myCounter ()
try
TextBox1.Text = (Int(TextBox1.Text) +
1).ToString ‘文本框数字加1
Timer1.Interval = 1 1000
If Timer1.Enabled = False Then
Timer1.Start()
End If
AddHandler Timer1.Tick, AddressOf myCounter
Catch ex As Exception
MsgBox("程序错误:" +
ex.ToString)
End Try
为了避免上述问题(上述问题,可能是每次运行都开启一个timer线程)请直接在timer控件的促发时间里加入代码,即可避免,如下
Private Sub Timer1_Tick(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Timer1.Tick
Call myCounter()
End Sub
Sub myCounter ()
try
TextBox1.Text = (Int(TextBox1.Text) + 1).ToString ‘文本框数字加1
Timer1.Interval = 1000
If Timer1.Enabled = False Then
Timer1.Start()
End If
AddHandler Timer1.Tick, AddressOf mycounter
Catch ex As Exception
MsgBox("程序错误:" + ex.ToString)
End Try
'需要用到的控件,一个textbox,一个timer
Sub myCounter ()
try
TextBox1.Text = (Int(TextBox1.Text) +
1).ToString ‘文本框数字加1
Timer1.Interval = 1 1000
If Timer1.Enabled = False Then
Timer1.Start()
End If
AddHandler Timer1.Tick, AddressOf myCounter
Catch ex As Exception
MsgBox("程序错误:" +
ex.ToString)
End Try
为了避免上述问题(上述问题,可能是每次运行都开启一个timer线程)请直接在timer控件的促发时间里加入代码,即可避免,如下
Private Sub Timer1_Tick(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Timer1.Tick
Call myCounter()
End Sub
Sub myCounter ()
try
TextBox1.Text = (Int(TextBox1.Text) + 1).ToString ‘文本框数字加1
Timer1.Interval = 1000
If Timer1.Enabled = False Then
Timer1.Start()
End If
AddHandler Timer1.Tick, AddressOf mycounter
Catch ex As Exception
MsgBox("程序错误:" + ex.ToString)
End Try
相关文章推荐
- vb2008弹出菜单位置
- Vb.net 获取IP地址
- vb 监听回车键
- telnet客户端源码 vb6
- .net vb socket 官网示例
- VBA outlook实战#02--自动分类邮件
- Visual Basic 6 API压缩数据
- vb2008 socket简单数据收发
- vb2008 webbrowser 如何禁止 脚本…
- VB2008 设置form窗体的位置
- vb2008 文件目录相关
- vb2008 文件目录相关(2)
- vb2008关闭消息框终于实现了,可以…
- POPTEST老李分享修改dns ip的vbs代码
- vbird笔记2016-02-23
- VB 动态填充 Excel表格
- VB6 写文件
- [VB2010]INIファイルを読み書きする
- vb.net枚举 Enum 星期几 周几 Parse
- 使用VBA合并多个EXCEL文件到一个EXCEL文件