控制台调用Timer和窗体是类似的。首先在项目引用里面加入System.Windows.Forms程序集,然后在代码顶部引入命名空间:
成都创新互联公司专注于独山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供独山营销型网站建设,独山网站制作、独山网页设计、独山网站官网定制、微信平台小程序开发服务,打造独山网络公司原创品牌,更为您提供独山网站排名全网营销落地服务。
Imports System.Windows.Forms
在控制台的Module中声明一个计时器:
Private WithEvents Timer1 As New Timer()
把计时器的Tick事件静态绑定到处理函数中:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'一些代码
End Sub
在需要开始计时的地方,修改其Interval、Enabled属性:
Timer1.Interval = 1000
Timer1.Enabled = True
dim date as DateTime = DateTime.Parse(TextBox1.Text)
TextBox2.Text = date.ToShortDateTime()
日期类型有好多种转换表达式, 特别的使用.ToString("YYYY-mm-dd") 这种形式可以自定义ToString里面的格式化样式。
这种功能用不到TIMER,TIMER控件用在这种地方也不适合。(假如你所统计的时间很短,在几分中内话,可以使用,假如你统计的时间很长:几小时、几天几夜,建议改用以下方式):
在你需要开始计时的地方加入一个记录当前时间,在你想结束的地方也得到一个当前时间。然后将两个时间相减。
希望以上思路可以帮到你。
'添加一个label标签名字label1 用来显示时间
'再添加一个timer控件 名字timer1 interval属性=1000 用来计时
'窗体添加代码
Dim t As Date '用来记录时间
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Timer1.Tick
t = t.AddSeconds(1)
Label1.Text = "登录时间:" t.TimeOfDay.ToString
End Sub
Dim hour, min, sec As Integer
Private Sub Command1_Click()
If Command1.Caption = "开始计时" Then
Command1.Caption = "停止计时"
Timer1.Enabled = True
Else
If Command1.Caption = "停止计时" Then
Command1.Caption = "开始计时"
Timer1.Enabled = False
End If
End If
End Sub
Private Sub Form_Load()
hour = 0
min = 0
sec = 0
Label1.Caption = Format(hour, "00") ":" Format(min, "00") ":" Format(sec, "00")
End Sub
Private Sub Timer1_Timer()
sec = sec + 1
If sec 59 Then
sec = 0
min = min + 1
If min 59 Then
min = 0
hour = hour + 1
End If
End If
Label1.Caption = ""
Label1.Caption = Format(hour, "00") ":" Format(min, "00") ":" Format(sec, "00")
End Sub
vb.net 中没有了 time() 函数。
可以通过 Now().TimeOfDay 截取当前的系统时间。
Now()函数取当前的系统日期时间,TimeOfDay 方法取日期时间中的时间部分。如下:
Dim t As TimeSpan
Dim s As Integer
t = Now().TimeOfDay
s = t.Hours * 3600 + t.Minutes * 60 + t.Seconds
变量s 就是 从午夜到现在经过的秒数。