读书人

怎么循环一个窗体中的所有控件

发布时间: 2012-03-14 12:01:12 作者: rapoo

如何循环一个窗体中的所有控件
我在窗体中放置了一个TPageControl控件,3个TTabSheet,又在TTabSheet上放了几个TPanel,
我如何循环出TPanel上的控件 


[解决办法]

Delphi(Pascal) code
//你再加些代码处理一下就可以了var  i:Integer;begin  for i:=0 to self.ComponentCount-1 do  begin    self.ListBox1.Items.Add( Components[ i ].Name );  end;end;
[解决办法]
判断它的Parent
[解决办法]
procedure GetPanelComponent(const pnl: TPanel);
var
i: integer;
begin
for i:=0 to pnl.ComponentCount-1 do
begin
//取出子控件
ShowMessage(pnl.Components[i].Name);
end;
end;

[解决办法]
[code=Delphi(Pascal)][/code]var
i:Integer;
begin
for i:=0 to self.ComponentCount-1 do
begin
if (self.Components[i].HasParent) and ((self.Components[i] as TControl).Parent is TPanel) then
//处理
end;
end;

//你应该说的是可视控件吧
//如果你是想要某一个panel内的所有控件,可以将"(self.Components[i] as TControl).Parent is TPanel"
//改为"(self.Components[i] as TControl).Parent.name = panel名)"

读书人网 >.NET

热点推荐