
Dim n As Integer
Dim a()
Private Sub Command1_Click()
If n = 0 Then '第一次点击时执行
m = Val(Text1)
ReDim a(1 To m)
For i = 1 To m '生成数组a,元素为1至m这m个数
a(i) = i
Next
For i = 1 To m - 1 '随机打乱数组a中元素
r = Int(Rnd m + 1)
tmp = a(i)
a(i) = a(r)
a(r) = tmp
Next
End If
n = n + 1 '计数点击次数
If n > Val(Text1) Then '次数超过指定次数,抽奖结束
MsgBox "抽奖结束!"
Exit Sub
End If
Text2 = a(n) '从数组中抽出第n个数,由于数组中是随机排列,所以相当于生成一个随机数,并且不会重复
End Sub
在窗体上添加一个command1,一个timer1,label1(0~5)
控件数组(添加一个label1,然后再复制5个,共6个,用来显示数字),代码如下:
Private
Sub
Command1_Click()
If
Command1Caption
=
"抽奖"
Then
Command1Caption
=
"停止"
Timer1Enabled
=
True
Else
Timer1Enabled
=
False
Command1Caption
=
"抽奖"
End
If
End
Sub
Private
Sub
Form_Load()
Command1Caption
=
"抽奖"
Timer1Interval
=
50
Timer1Enabled
=
False
End
Sub
Private
Sub
Timer1_Timer()
Randomize
For
i
=
0
To
5
Label1(i)
=
Int(10
Rnd)
Select
Case
Label1(i)Caption
Case
0
Label1(i)BackColor
=
RGB(0,
0,
0)
Label1(i)ForeColor
=
RGB(255,
255,
255)
Case
1
Label1(i)BackColor
=
RGB(128,
42,
42)
Label1(i)ForeColor
=
RGB(127,
213,
213)
Case
2
Label1(i)BackColor
=
RGB(255,
0,
0)
Label1(i)ForeColor
=
RGB(0,
255,
255)
Case
3
Label1(i)BackColor
=
RGB(255,
97,
0)
Label1(i)ForeColor
=
RGB(0,
158,
255)
Case
4
Label1(i)BackColor
=
RGB(255,
255,
0)
Label1(i)ForeColor
=
RGB(0,
0,
255)
Case
5
Label1(i)BackColor
=
RGB(0,
255,
0)
Label1(i)ForeColor
=
RGB(255,
0,
255)
Case
6
Label1(i)BackColor
=
RGB(0,
0,
255)
Label1(i)ForeColor
=
RGB(255,
0,
0)
Case
7
Label1(i)BackColor
=
RGB(160,
32,
240)
Label1(i)ForeColor
=
RGB(95,
223,
15)
Case
8
Label1(i)BackColor
=
RGB(192,
192,
192)
Label1(i)ForeColor
=
RGB(63,
63,
63)
Case
9
Label1(i)BackColor
=
RGB(255,
255,
255)
Label1(i)ForeColor
=
RGB(0,
0,
0)
End
Select
Next
End
Sub
Option Explicit
Private Sub Command1_Click()
Timer1Enabled = True
Command2Enabled = True
Command1Enabled = False
Text2Text = ""
End Sub
Private Sub Command2_Click()
Command1Enabled = True
Timer1Enabled = False
Command2Enabled = False
Dim i As Integer
For i = 0 To 4
Text2Text = Text2Text + Text1(i)Text
Next i
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Timer1_Timer() '将timer1的interval设置为100,enabeld设置为false
Dim i As Integer
Randomize
For i = 0 To 4
Text1(i)Text = Int(Rnd(Timer) (Rnd(Timer) + 9))
Next i
End Sub
以上就是关于VB编写一个抽奖小程序,要求每次抽奖的数字不重复全部的内容,包括:VB编写一个抽奖小程序,要求每次抽奖的数字不重复、抽奖程序(用vb编写)、怎样用vb做一个抽奖类的简易软件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)