定时器中处理
创新互联建站是一家集网站建设,泸水企业网站建设,泸水品牌网站建设,网站定制,泸水网站建设报价,网络营销,网络优化,泸水网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 10 '10毫秒刷新一次
Timer1.Start() '开启定时器
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = Now
End Sub
继承一下DateTimePicker,内置个timer 不断刷新显示
得到焦点停止timer,失去焦点继续timer
把代码贴到项目就会多出一个控件了
拖出来就能使用
显示格式可以自己设置
---------------------------------------------------------------------------------
''' summary
''' 自动更新的 DateTimePacker
''' /summary
Public Class MyDateTimePacker
Inherits DateTimePicker
Public Sub New()
Me点抗 ponents = New Container
Me.m_tmrUpdate = New Timer(Me点抗 ponents)
Me.m_tmrUpdate.Interval = 1000
AddHandler Me.m_tmrUpdate.Tick, New EventHandler(AddressOf Me.m_tmrUpdate_Tick)
MyBase.Format = DateTimePickerFormat.Custom
MyBase.CustomFormat = "yyyy 年 MM 月 dd 日 hh:mm:ss"
End Sub
''' summary
''' 释放资源
''' /summary
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If (disposing AndAlso (Not Me点抗 ponents Is Nothing)) Then
Me点抗 ponents.Dispose
End If
MyBase.Dispose(disposing)
End Sub
Private Sub m_tmrUpdate_Tick(ByVal sender As Object, ByVal e As EventArgs)
MyBase.Value = DateTime.Now
End Sub
Protected Overrides Sub OnEnter(ByVal e As EventArgs)
If Me.AutoUpdateByFocu Then
Me.m_tmrUpdate.Stop
End If
MyBase.OnEnter(e)
End Sub
Protected Overrides Sub OnLeave(ByVal e As EventArgs)
If Me.AutoUpdateByFocu Then
Me.m_tmrUpdate.Start
End If
MyBase.OnLeave(e)
End Sub
' Properties
''' summary
''' 更新定时器状态
''' /summary
Public Property AutoUpdate As Boolean
Get
Return Me.m_tmrUpdate.Enabled
End Get
Set(ByVal value As Boolean)
Me.m_tmrUpdate.Enabled = value
End Set
End Property
''' summary
''' 根据焦点状态开始、停止更新定时器
''' /summary
DefaultValue(False) _
Public Property AutoUpdateByFocu As Boolean
Get
Set(ByVal value As Boolean)
End Property
''' summary
''' 组件容器
''' /summary
Private components As IContainer = Nothing
''' summary
''' 更新定时器
''' /summary
Private m_tmrUpdate As Timer
End Class
---------------------------------------------------------------------------------
(用C#写的,然后反编译成VB.NET,有图有真相-.-真蛋疼,学C#吧...)
开发过程过程中我们通常对特定代码片运行所花的时间很感兴趣 当然有一些标准程序和代码工具可以查看到它 但是有经验的Visual Basic 开发者有更快的办法 仅仅捕捉开始时间(使用Now关键字)和终止时间(再次使用Now关键字) 两种相减 就能知道结果了
如果使用Visual Basic NET编写 首先尝试的代码可能是这样的
Dim StartTime As DateTime = Now {code to check for timing goes here} Dim EndTime As DateTime = Now Console WriteLine((StartTime EndTime) ToString)
但是这段代码的最后一行有语法错误 错误消息是 日期类型没有定义 - 操作符 这意味着我们不能执行减法 日期数据类型不支持减法操作 那么我们怎么得到两次时间的差别呢?
答案就是使用TimeSpan类 它是用于保持时间段的 上面的代码看起来与 NET框架组件中的相似
Dim StartTime As DateTime = Now {code to check for timing goes here} Dim EndTime As DateTime = Now Dim RunLength As System TimeSpan RunLength = EndTime Subtract(StartTime) Console WriteLine(RunLength ToString)
计算使用的是类Date的Subtract方法 最后一行将输出时间的跨度 格式化成小时 分钟和秒(包括秒的小数位) 典型的输出是这样的
该时间跨度是 秒半 尽管显示了 位小数 但是只能相信两位 但是已经足够了
结论
lishixinzhi/Article/program/net/201311/11820
1)在窗体上布置一个StatusBar和一个Timer
注:需要在控件“工具箱”上点鼠标右键--“部件”-- "Mirosoft Windows Common Controls 6.0 (SP6)",然后才能看到StatusBar控件。
2)代码
Option Explicit
Private Sub Form_Load()
' 定时器的定时间隔为1秒(1000毫秒)
Timer1.Interval = 1000
' 启动定时器
Timer1.Enabled = True
' 显示当前时间
StatusBar1.Panels(1).Text = Format(Time, "HH:mm:ss")
End Sub
Private Sub Timer1_Timer()
' 动态显示时间,每秒刷新一次
StatusBar1.Panels(1).Text = Format(Time, "HH:mm:ss")
End Sub
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款