VB倒計時器問題 為什麼不能倒計時,一執行,一直顯示1分39秒,沒有倒計時

時間 2022-03-17 12:40:05

1樓:匿名使用者

dim num as integer

private sub form_load()num = 100

timer1.enabled = trueend sub

private sub label2_click()end sub

private sub timer1_timer()num = num - 1

label1.caption = "請在" & (num \ 60) & "分" & (num mod 60) & "秒內完成投票!"

label2.caption = num

if num < 1 then

label1.caption = "投票時間已過!"

timer1.enabled = falseend if

end sub

2樓:匿名使用者

你一執行timer事件時,你都num=100了,每次都重新設定為100秒了,當然不會變了啊。

你要把dim num 放到全域性變數裡

然後load時,設定

num=100

就行了。

3樓:吹花

num=100

有了這一句,每執行一次,num都被賦同樣的一個值100,再減1自然是1分39秒。

所以要在此過程外賦初值,且num應該是全域性變數,或者區域性靜態(static)變數。

4樓:z折心

你要在form-load裡定義num

如果你在timer裡定義,那每一次執行timer時都會給num重新賦值

vb製作倒計時器問題

5樓:匿名使用者

option explicit

dim h as integer, m as integer, s as integer

private sub command1_click()if not isnumeric(text1.text) thenmsgbox "請正確小時數!"

exit sub

end if

if not isnumeric(text2.text) thenmsgbox "請正確分鐘數!"

exit sub

end if

if not isnumeric(text3.text) thenmsgbox "請正確秒數!"

exit sub

end if

h = text1.text

m = text2.text

s = text3.text

if m >= 60 then

msgbox "分鐘數必須小於60!"

exit sub

end if

if s >= 60 then

msgbox "秒數必須小於60!"

exit sub

end if

timer1.enabled = trueend sub

private sub command2_click()timer1.enabled = falseend sub

private sub form_load()text1.text = ""

text2.text = ""

text3.text = ""

command1.caption = "開始"

command2.caption = "停止"

label1.caption = ""

timer1.interval = 1000timer1.enabled = falseend sub

private sub timer1_timer()dim r as string

if h <> 0 then

if m <> 0 then

if s = 0 then

m = m - 1

s = 59

else

s = s - 1

end if

else

if s <> 0 then

s = s - 1

else

h = h - 1

m = 59

s = 59

end if

end if

else

if m <> 0 then

if s = 0 then

m = m - 1

s = 59

else

s = s - 1

end if

else

if s <> 0 then

s = s - 1

else

label1.caption = "倒計時完成!"

timer1.enabled = falseend if

end if

end if

if h <> 0 or m <> 0 or s <> 0 thenr = cstr(h) & "小時" & cstr(m) & "分" & s & "秒"

label1.caption = r

end if

end sub

6樓:

新增一個timer控制元件。

dim a, b, c as integerprivate sub command1_click()a = text1.text

b = text2.text

c = text3.text

timer1.interval = 1000timer1.enabled = trueend sub

private sub command2_click()timer1.enabled = falselabel1.caption = "停止計時"

end sub

private sub form_load()timer1.enabled = falseend sub

private sub timer1_timer()label1.caption = a & ":" & b & ":" & c

if c = 0 then

if b = 0 then

if a = -1 then

timer1.enabled = falselabel1.caption = "倒計時完成"

else

c = c - 1

b = 59

c = 59

end if

else

b = b - 1

c = 59

end if

else

c = c - 1

end if

end sub

7樓:曹昌裕

中華人民共和國民黨組織

8樓:匿名使用者

這用一個timer就能實現了呀。

關於vb 定時器的問題 設計一個倒計時的程式,command1按鈕開始倒計時,label3標籤顯示時間。

9樓:匿名使用者

1.你說的「在文字框無法輸入數值了」是不是因為你把「command1"的enabled屬性設為false了,書上要求的是不是把「timer1」的enabled屬性設為false?

之所以 label3會顯示-1分-1秒。。-1分-2秒。。是因為t 值小於0了,也就是說你可能在文字框輸入0或什麼都沒輸入。你可以把**改成這樣:

sub command1_click()

if (val(text1.text) = 0) then

msgbox ("時間到!")

timer1.enabled = false

else

t = 60 * val(text1.text)

timer1.enabled = true

end if

end sub

也可以把 「if (t = 0) then」 改為 "if (t = 0) or (t < 0) then"

2.sub timer1_timer()

dim m, s as integer

t = t - 1 』當**跑到這裡,t值會減去 1

m = int(t / 60) 』這段**把t值轉換成分鐘(t值的單位是「秒」)

s = t mod 60 』這段**把t值 除以 60後把整數部分去掉,剩下餘數,就是秒鐘

也就是說如果你在文字框裡輸入了10 ,就是600秒 m=10;s=0,當你按下command1 ,過了一秒 m=9,s=59;過了兩秒m=9;s=58;過了一分鐘m=9,s=0...

10樓:匿名使用者

這是一個利用timer控制元件做的定時器,你在初始狀態應將定時器enabled屬性設定為false。然後利用按鈕啟動定時器timer(即**中timer1.enabled = true),關於出現負值的問題,你可以將"if (t = 0) then"改為"if (t <= 0) then",這樣出現負值就直接停計時器了。

出現這種情況的原因是:如果文字框為空則val(text1.text)=0即t的初值為0,但啟動定時器後沒有進行判斷直接就減一,所以出現了負值。

最簡單的辦法是先判斷,滿足停止計時條件(t <= 0)則退出計時,不滿足則繼續。

vb中怎樣製作一個計時器? 能夠設定倒計時的時間,並進行倒計時

11樓:

1、開啟vb6.0,新建一個工程,在窗體中新增三個命令按鈕,caption分別改為「設定倒計時」、「啟動倒計時」、「繼續」,將窗體form1的caption屬性改為「倒計時」,新增一個計時器控制元件,新增一個文字框。

2、將文字框的text屬性清空,將字型font屬性調整為小四,便於觀察,將背景色屬性backcolor調為淺黃色。

3、雙擊「設定倒計時」命令按鈕,進入**編輯視窗。

4、雙擊「啟動倒計時」命令按鈕,進入**編輯視窗。

5、雙擊「計時器」控制元件,進入**編輯視窗。

6、在**編輯視窗的通用段進行變數定義:dim h as integer, m as integer, s as integer '分別儲存時分秒dim a as integer。

8、關閉**視窗,按下f5執行程式,單擊「設定倒計時」命令按鈕,彈出輸入對話方塊,此時輸入分鐘數為1,確定。

9、單擊「啟動倒計時」命令按鈕,文字框顯示倒計時時間,並時刻變動,至此實現了倒計時功能。

12樓:天天過節

用到三個控制元件:文字框(text1)、按鈕(command1)、計時器(timer1)

private sub command1_click()timer1.interval = 1000end sub

private sub timer1_timer()text1.text = val(text1.text) - 1if text1.

text < 1 thenmsgbox "時間到"

unload me

end if

end sub

13樓:弒神者是我

事先要在秒錶**調 enable屬性為false,interval屬性為1000

private sub command1_click()timer1.enabled = trueend sub

private sub timer1_timer()text1.text = val(text1.text) - 1if text1.

text < 1 thenmsgbox "時間到"

unload me

end if

end sub

VB中怎樣製作計時器?能夠設定倒計時的時間,並進行倒計時

1 開啟vb6.0,新建一個工程,在窗體中新增三個命令按鈕,caption分別改為 設定倒計時 啟動倒計時 繼續 將窗體form1的caption屬性改為 倒計時 新增一個計時器控制元件,新增一個文字框。2 將文字框的text屬性清空,將字型font屬性調整為小四,便於觀察,將背景色屬性backco...

vb設計多功能計時器,時鐘,秒錶,倒計時功能,LED風格

人文 frmtimer窗體控制元件 commandbutton 2 picturebox 1 pictureclip 注 剪下控制元件 1 timer 3 注 此處只給出了控制元件型別,控制元件名祥見 frmtimer 的 option explicit public t as integer,st...

關於VB問題做倒計時器,要求最後10秒有提示音

正在給你做,晚上給你。 使用timer控制元件 聲音的使用beep vb6.0倒計時程式怎麼再最後10秒出現滴滴滴的警示音 心隨心潮 在窗體上畫一個timer控制元件 一個按鈕,一個progressbar控制元件 需要新增部件microsoft windows common controls 6.0...