假设我在表单上有5个按钮。其中两个有BackColor of Black。我怎么才算这两个按钮,反之亦然(只计算三个非彩色按钮)?
答案 0 :(得分:0)
试试这个(基于Mederic's comment above):
Dim blackCount As Integer = 0
Dim nonBlackCount As Integer = 0
For Each control In Me.Controls.OfType(Of Button)
If control.BackColor = Color.Black Then
blackCount += 1
Else
nonBlackCount += 1
End If
Next
然后,您要求黑色和非黑色按钮的计数将分别存储在blackCount
和nonBlackCount
变量中。
答案 1 :(得分:0)
如果您更喜欢Linq并且只想计算一种类型(不是同时计算两种类型),我相信这也可以解决问题:
Dim blackCount = Me.Controls.OfType(Of Button)
.Where(Function(c) c.BackColor = Color.Black).Count
如果要计算两种类型,显式循环会更好,因为它只会迭代Controls
集合一次。