在一个panel中自动生成很多lable,要怎么统计lable的个数?

解决方案 »

  1.   

    int count;
    foreach(control c in panel.Controls)
    {
    if(c is label)
    {
    count++;
    }}
      

  2.   

    int n = panel.Controls.OfType<Label>().Count();
      

  3.   

    增加点难度,如果要统计panel中一部分lable的个数呢?比如,在lable.top++时一部分消失了。
      

  4.   

    var q= from c in panel.Controls.OfType<Label>()
           where ((Label)c).Top>=0
           select c
    int count=q.Count();
      

  5.   

    在lable.top++时一部分消失了。
      

  6.   

    就是lable从panel中自上往下掉,一部分我让它消失,怎么统计消失的这部分lable的数目?
      

  7.   

    int count;
    foreach(control ct in panel.Controls)
      {
        if(ct is label)
           {
              count++;
           }
      }
      

  8.   


    你那消失就是隐藏了吧,,统计隐藏的就可以了
    借用下楼上的
       var q = from c in this.Controls.OfType<Label>()
                        where ((Label)c).Visible=false
                        select c;
    int qty=q.Count();
      

  9.   

    int n = panel.Controls.OfType<Label>().Where(x => x.Top < panel.Height).Count();