2017-06-13 30 views
-1

假设我在表单上有5个按钮。其中两个有黑色的BackColor。我怎样才能只计算这两个按钮,反之亦然(只计算三个不着色的按钮)?如何计算具有特定属性的窗体上的按钮数?

+1

只需使用Bug的解决方案,而不是更改颜色检查颜色:https://stackoverflow.com/questions/43317174/is-there-a-way-to-change-the-color-of-n-标签在一起与 - 一个命令/ 43317730#43317730 – Mederic

回答

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变量。

0

如果你喜欢LINQ和只想算一种类型的(不是两者同时),我相信这会做的伎俩太:

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

的显式循环更好,如果你想指望这两种类型,因为它只会迭代Controls一次。

相关问题