搞不明白你的问题
你说的上一个lable指的是什么

解决方案 »

  1.   

    固定最下面的Label,其他的动态设置Label1.Top := Label.Top + 100;
    Label2.Top := Label1.Top + 100;ePing
      

  2.   

    问题是,我的Label的Name也是动态生成的,所以,如果我知道上一个Label的名字,也就简单了!
      

  3.   

    i:=0;
    with TLabel.Create(self) do
    begin
      inc(i);
      parent:=panel1;
      name:='Label'+inttostr(i);
      top:=TLabel(FindComponent('Label'+inttostr(i-1)).top+10;
      caption:='My name is Label'+inttostr(i-1);
      visible:=true;
    end;
    你在動態生成Label時賦個名字供以后用不就得了嗎?
      

  4.   

    对,这个我知道,但是现实中,我不得不非次序的命名Label,也就是说,也许Label1在Panel1中,而Label2在Pannel2中,又或者Panel1中有Label1和Label4,Panel2中有Label2和Label3,所以很难取得Label的名字!我是想有没有方法,通过Panel取Panel中所有的Label的集合,然后就可以方便得到上一个Label的Top属性了
      

  5.   

    这么好玩的东西,干嘛取一个不好的标题
    参考:
    TWinControl.ControlCount,TWinControl.Controls
      

  6.   

    要通过Panel取Panel中所有的Label的集合,可以先知道其控件的数量
    Panel1.ControlCount,再做其他操作
      

  7.   

    for i:=0 to Panel.ControlCount-1 do
      if Controls[i].ClassType=TLabel then
        .......
      

  8.   

    milpas,不好意思,我结贴的时候,你的贴子还没有发出来,真的不好意思!谢谢各位的参与!