使用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
答案 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))