sg_linfeng 2016年07月22日
用Timer控件动态生成随机数问题!在线等,急~~~~~
用VB.net里的Timer控件动态生成随机数,在点击Button2停止Timer控件时,在软件界面中的三个Label会有跳码的现象,很不解,为此,我在网上找了一段截屏的程序在对每次停止Timer控件时,截取屏幕的图,进行对比,发现截屏后,三个Label控件显示的值与软件界面上显示的三个Label的值有时不一致,有时一致的现象,请问各位高手,这是怎么回事呢?
附代码:
Public Class Form1

Private Sub CatchLDDRezult()
Dim p1 As New Point(0, 0)
Dim p2 As New Point(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
Dim pic As New Bitmap(p2.X, p2.Y)
Using g As Graphics = Graphics.FromImage(pic)
g.CopyFromScreen(p1, p1, p2)
pic.Save("D:\1.jpg")
End Using
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Enabled = True
End Sub

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

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Randomize()
Dim intRndLDid As Integer = Int(Rnd() * 941 + 1)
Dim strRndLDid As String = Format(intRndLDid, "0000")
Label1.Text = strRndLDid

Randomize()
intRndLDid = Int(Rnd() * 941 + 1)
strRndLDid = Format(intRndLDid, "0000")
Label2.Text = strRndLDid

Randomize()
intRndLDid = Int(Rnd() * 941 + 1)
strRndLDid = Format(intRndLDid, "0000")
Label3.Text = strRndLDid

Label4.Text = Now
End Sub
End Class


...全文
1434 点赞 收藏 2
写回复
2 条回复

还没有回复,快来抢沙发~

发动态
发帖子
API
创建于2007-09-28

1196

社区成员

2.3w+

社区内容

VB API
社区公告
暂无公告