涉及按钮的随机化(VB)

时间:2010-01-08 02:09:43

标签: vb.net random

使用VB我可以在数组中创建和访问随机“单元格”

Dim array(5) as array
Dim r as new random
r.next(0,5)
然后

array(r)将根据r的值访问随机“单元格”。

有没有办法说像按钮(r)直接随机选择哪个按钮而不是必须使用随机而If如此?

r.next(0,5)
If r = 1 then
button1 ...
elseif r = 2
button 2 ...
end if

3 个答案:

答案 0 :(得分:1)

使用Button数组是最佳解决方案。但是你可以通过仔细选择按钮名称来降低成本:

Dim btn as Button = DirectCast(Me.Controls("Button" + r.Next(6).ToString()), Button)

请注意,我使用了6. arrButtons(5)在索引0到5中包含6个元素。

答案 1 :(得分:0)

您可以创建一系列按钮,如下所示:

'In your class
Dim buttons() As Button
Dim rand as New Random()
Public Sub New() 
    InitializeComponent()
    buttons = New Button() { Button1, Button2, ... }
End Sub

'Somewhere else:
Dim randomButton As Button = buttons(rand.Next(buttons.Length))

答案 2 :(得分:0)

如果您有一系列按钮,请务必。

查看您的代码,好像您正在引用VB.NET。

Dim r as New Random(someSeed)
Dim arrButtons(5) As Button
'assign the buttons to the array
'.....
Dim chosenButton As Button = Buttons(r.Next(0,arrButtons.Length))