读书人

VB.net,怎么做个秒表实现以下功能,谢绝

发布时间: 2012-01-19 20:57:58 作者: rapoo

VB.net,如何做个秒表实现以下功能,谢绝其它语言
假如有一个label1,两个button1,button2,
如何按下button1然后label1就开始跳,例如 1,2,3一直跳的,直至按下button2为止
第二个,假如当label1=5秒的时候,我点button1时,弹出了个messagebox.show的,这个框框自动关闭.

[解决办法]
自动跳动数字和自动关闭messagebox,都需要用到timer。
代码如下:
窗体上,两个button,一个label
------------------------------------------------
Public Class Form1

Dim myNum As Integer = 0

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'开始跳动计数
Timer1.Enabled = True
Button1.Enabled = False
Button2.Enabled = True
End Sub

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
'跳动的数字效果
myNum += 1
Label1.Text = CStr(myNum)
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'停止计数,弹出对话框,显示现在的数字
Timer1.Enabled = False
Timer2.Enabled = True
MessageBox.Show( "现在的数字是 " + Label1.Text)
Button1.Enabled = True
Button2.Enabled = False
End Sub

Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer2.Tick
'自动关闭对话框
SendKeys.Send( "{enter} ")
myNum = 0
Timer2.Enabled = False
End Sub
End Class

其中timer的Enabled默认为False,跳动时间间隔和关闭的时间设定用interval设定。
============================================================================
你的问题,不知道是不是这样的?应该能解决了,你可以自己再改下。
[解决办法]
Public Class Form1
Public i As Integer = 1
Public j As Integer = 0
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
j += 1
If Me.Timer1.Enabled = False Then
Me.Timer1.Enabled = True
Else

If j > 1 Then
Me.Timer1.Enabled = False
MsgBox( "当前时间是 " & i & "秒 ")
j = 0
End If

End If
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Me.Label1.Text = i & "秒 "
i += 1
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Timer1.Enabled = False
End Sub

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick

If j > 1 And Me.Timer1.Enabled = False Then
SendKeys.Send( "{enter} ")
End If
End Sub
End Class


----------------------
楼主说的是点击button1之后弹出messagebox吧?大概就是这样,要是有Bug的话自己改一下吧

xiang_li5257兄的是点击button2之后弹出messagebox

读书人网 >VB Dotnet

热点推荐