提问人:Hi Aya 提问时间:10/3/2016 最后编辑:halferHi Aya 更新时间:11/17/2023 访问量:48
如何用循环替换一些相似的代码块?
How to replace a number of similar code blocks with a loop?
问:
你能帮我循环这个吗?我开始学习 vb.net 语言
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If Button1.BackColor = Color.Red Then
Button1.BackColor = Color.Pink
End If
If Button2.BackColor = Color.Red Then
Button2.BackColor = Color.Pink
End If
If Button3.BackColor = Color.Red Then
Button3.BackColor = Color.Pink
End If
End Sub
答:
0赞
Malcor
10/3/2016
#1
您可以通过两种方式(可能还有其他方式)两种方式(可能还有其他方法)都使用 Foreach 循环,该循环遍历对象集合。
第一个遍历窗体上按钮的匿名数组。然后同样的条件。很简单,如果添加另一个按钮,请将其添加到数组的末尾。
For each btn As Button In {Button1, Button2, Button3, Button4}
If btn.BackColor = Color.Red Then
btn.BackColor = Color.Pink
End If
Next
下一个方法执行几乎相同的操作,但您不必手动将按钮添加到数组中。它假定您要对窗体上的每个按钮执行逻辑。它采用当前窗体上的所有控件(按钮、文本框),如果它是按钮,则将其转换为按钮对象,然后执行相同的条件。
For each btn As Control In Me.Controls
If btn.GetType() = GetType(Button) then
Dim myButton As Button = CType(btn, Button)
If myButton.BackColor = Color.Red Then
myButton.BackColor = Color.Pink
End If
End If
Next
评论