【发布时间】:2015-09-20 20:21:11
【问题描述】:
我正在尝试创建一个包含 5 个元素的列表
Dim clickcount As Integer = 0
Dim clickindex(6) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button5.Click, Button4.Click, Button6.Click
Dim btn As Button
btn = CType(sender, Button)
If btn.BackColor = Color.Red Then
btn.BackColor = Color.Green
Dim strList As List(Of Integer) = clickindex.ToList()
strList.Remove(btn.Tag)
clickindex = strList.ToArray()
clickcount -= 1
ElseIf btn.BackColor = Color.Green Then
If clickcount = 5 Then
MsgBox("Max Reach")
Exit Sub
End If
btn.BackColor = Color.Red
clickcount += 1
clickindex(clickcount) = btn.Tag
End If
End Sub
每点击一个按钮,就会将按钮编号添加到列表中,最多点击5个按钮 当您再次单击按钮时,它将从数组中删除按钮编号。
我的问题是,当我点击几次时,出现错误,它说索引超出数组,但索引仍在范围内。 谁知道问题出在哪里?
【问题讨论】:
-
这个逻辑有一些缺陷...
btn.Tag的值是多少?它会改变吗? -
我在 btn.tag 中设置了数字,例如 button1.tag =1 button2.tag =2 它是固定的
-
有没有可能
Clickcount在某个时候变成负数? -
不清楚您要做什么。您是否要计算每个按钮被点击了多少次?单击不同的红色按钮时发生崩溃:点击计数变为负数
-
我正在创建一个停车场管理系统,一个按钮代表一个停车场,一个用户一次只能选择5个地方
标签: arrays vb.net list integer