十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
控制臺調(diào)用Timer和窗體是類似的。首先在項目引用里面加入System.Windows.Forms程序集,然后在代碼頂部引入命名空間:
10年積累的成都網(wǎng)站設(shè)計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有武寧免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Imports System.Windows.Forms
在控制臺的Module中聲明一個計時器:
Private WithEvents Timer1 As New Timer()
把計時器的Tick事件靜態(tài)綁定到處理函數(shù)中:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'一些代碼
End Sub
在需要開始計時的地方,修改其Interval、Enabled屬性:
Timer1.Interval = 1000
Timer1.Enabled = True
不需要控件就可以,用多線程的方式實現(xiàn),在窗體上放一個Label和一個button按鈕,代碼如下:
Imports?System.Threading
Public?Class?Form1
Dim?Start?As?Double
Dim?td?As?Thread
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
Label1.Text?=?"00:00:00?000"
Button1.Text?=?"開始"
End?Sub
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
If?Button1.Text?=?"開始"?Then
Button1.Text?=?"結(jié)束"
Start?=?DateAndTime.Timer
td?=?New?Thread(AddressOf?fun1)
td.Start()
Else
Button1.Text?=?"開始"
td.Abort()
End?If
End?Sub
'定義一個線程
Private?Sub?fun1()
Dim?elapsed?As?TimeSpan
Dim?Dg_txt?As?New?Dg(AddressOf?txt)
Do
elapsed?=?TimeSpan.FromMilliseconds((DateAndTime.Timer?-?Start)?*?1000)
Me.Invoke(Dg_txt,?elapsed.ToString,?Label1)
Thread.Sleep(100)
Loop
End?Sub
'定義一個委托
Delegate?Sub?Dg(ByVal?s?As?String,?ByVal?obj?As?Label)
Sub?txt(ByVal?s?As?String,?ByVal?obj?As?Label)
obj.Text?=?s
End?Sub
End?Class
不對。步驟如下:
添加一個label標(biāo)簽名字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
'添加一個label標(biāo)簽名字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
這種功能用不到TIMER,TIMER控件用在這種地方也不適合。(假如你所統(tǒng)計的時間很短,在幾分中內(nèi)話,可以使用,假如你統(tǒng)計的時間很長:幾小時、幾天幾夜,建議改用以下方式):
在你需要開始計時的地方加入一個記錄當(dāng)前時間,在你想結(jié)束的地方也得到一個當(dāng)前時間。然后將兩個時間相減。
希望以上思路可以幫到你。
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