不是100%肯定如何做到这一点,主要是因为我不熟悉这里的编程!
我创建了一个表格,其中填充了数组中的随机数字,当用户点击其中一个按钮时,需要将数字添加到他们的分数上。例如,当用户点击10和15时,他们的分数将是25.一旦用户点击了按钮,该按钮需要将颜色改为AliceBlue(只是随机颜色)。有什么建议/例子吗?
下面这段代码构成了游戏中使用的表格,
让我知道你的想法!
Dim RandomNumbers = Enumerable.Range(0, 100).ToList()
Dim RandomNumber As New Random()
For Me.TableColunm = 0 To 4 Step 1
For Me.TableRow = 0 To 4 Step 1
Dim TemporaryNumber = RandomNumbers(RandomNumber.Next(0, RandomNumbers.Count))
RandomNumbers.Remove(CInt(TemporaryNumber))
TableButtons = New Button()
With TableButtons
.Name = "TextBox" & TableColunm.ToString & TableRow.ToString
.Text = TemporaryNumber.ToString
.Width = CInt(Me.Width / 4)
.Left = CInt(TableColunm * (Me.Width / 4))
.Top = TableRow * .Height
.Tag = TemporaryNumber
AddHandler TableButtons.Click, AddressOf TableClickEvent
End With
GameScreen.Controls.Add(TableButtons)
Next TableRow
Next TableColunm
Catch ex As Exception
MsgBox(ex.StackTrace & vbCrLf & "index1= " & TableColunm & vbCrLf & "index2= " & TableRow)
End Try
和
Public Sub TableClickEvent(sender As Object, e As EventArgs)
CType(sender, Button).BackColor = Color.BlueViolet
OverAllScoreInteger += CInt(CType(sender, Button).Tag)
End Sub
我还必须将分数解析为一个名为' UserScoreBox'的文本框。表单在GameScreen'
上答案 0 :(得分:1)
使用AddHandler
语句向控件添加一个事件处理程序,并提供处理该事件的子句。
Private Sub Clickhandler(sender As Object, e As EventArgs)
CType(sender, Button).BackColor = Color.AliceBlue
End Sub
发件人基本上是发起活动的来源。在这种情况下,您单击了按钮。
要使按钮引发事件,请将其添加到您创建按钮的代码中:
Addhandler TableButtons.Click, AddressOf Clickhandler
要添加分数,您可以将按钮所代表的表行的索引放在按钮的.Tag
属性中。这样,您可以在事件处理程序中检索发件人的行并添加值。
编辑:添加号码: 在按钮创建时,将数字保存在标签中(您也可以只使用.Text,但实际上并不重要,只需这样一次转换):
With TableButtons
.Tag = Temporarynumber
然后在处理程序中再次解压缩对象:
Overallscore += CInt(CType(sender, button).Tag)