如何用VB制作随机学号抽取器?

2025-04-07 04:42:12
推荐回答(2个)
回答1:

这个需要应用以下几个步骤:

  1. 写一个获取随机学号函数。

  2. 将这个函数绑定在某个控件上触发抽学号的事件。

  3. 在某个输出界面显示这个随机学号。


首先,学号肯定是整数,所以在窗体代码区定义一个整型的变量来存放

Dim StudentNum as Integer


然后,新建一个模块,在模块中书写随机数函数,该函数有个整型的返回值。

该函数传入2个参数,用于界定随机数的上界和下界(也就是最大最小值)

Public Function GetNum (Byval L,Byval U) as Integer

Randomize   '重置随机种子

GetNum=Int((U - L + 1) * Rnd + L)  '将范围内获得一个随机整数赋值给该函数的返回值

End Function

写完了这个函数,记下它的表达式  接收变量=GetNum(最小值,最大值)


最后,在窗体中画一个按钮(Command1),一个文本框(名为Text1),一个定时器(Timer1)


1.双击这个窗体Form1,在它的Load事件中写下:

Timer1.Interval=50    ’让定时器50秒运行一次

Timer1.Enabel=True  ‘让定时器允许运作

2.双击定时器Timer1,在它的事件里写下:

StudentNum=GetNum(1,30)   

 '假设学生学号从1号到30号,如果经常变动可以从外部获取,用变量表示。

Text1.Text=StudentNum & "号"

'把取到的随机数显示在文本框里面

3.双击按钮Command1,在它的点击事件里写下

IF Timer1.Enable=True

Timer1.Enable=False    '计时器停止运作

Msgbox "选中了" & StudentNum & "号",26,"选中了该学号"   '把结果弹出对话框

Else

Timer1.Enable=True   ’启用已经停止的计时器,可以进行下一次选号

End IF

回答2:

好说,建立一个文本框,两个按钮
Dim i As Integer
Private Sub Command1_Click()
Timer1.Interval = 1
End Sub

Private Sub Command2_Click()
Timer1.Interval = 0
End Sub

Private Sub Form_Load()
Timer1.Interval = 0
Command1.Caption = "开始"
Command2.Caption = "停止"
Text1.Text = ""
Text1.FontSize = 24
End Sub

Private Sub Timer1_Timer()

Text1.Text = i
i = i + 1
If i > 50 Then i = 1
End Sub