如何计算具有特定属性的表单上的按钮数?

时间:2017-06-13 14:02:16

标签: vb.net

假设我在表单上有5个按钮。其中两个有BackColor of Black。我怎么才算这两个按钮,反之亦然(只计算三个非彩色按钮)?

2 个答案:

答案 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

然后,您要求黑色和非黑色按钮的计数将分别存储在blackCountnonBlackCount变量中。

答案 1 :(得分:0)

如果您更喜欢Linq并且只想计算一种类型(不是同时计算两种类型),我相信这也可以解决问题:

Dim blackCount = Me.Controls.OfType(Of Button)
                            .Where(Function(c) c.BackColor = Color.Black).Count

如果要计算两种类型,显式循环会更好,因为它只会迭代Controls集合一次。