我在主窗体(主窗体为form1,子窗体为form2,在子窗体上我放了一个label1,定义一个全局变量var  i integer;i:=0;)上放一个按钮BUTTON1  在BUTTON1的单击事件里我写的代码如下:
  i=i+1;
  form2.label1.caption=inttostr(i);
  form2.show;我连点BUTTON1 5次会打开5个同级的form2窗体,每个form2上的label1会显示不同的内容:1、2、3、4、5,而5个同级的form2窗体当前只有一个处于激活状态,怎样获得5个同级的form2窗体当前处于激活状态的窗体的label1的内容呢?

解决方案 »

  1.   

    不明白你的意思,我怎么点都是一个form2在显示着
    能否说的清楚一点?
      

  2.   

    var
      j:integer;
    begin
      for j:=0 to Application.ComponentCount -1 do
        if Application.Components[j] is TForm2 then
         if (Application.Components[j] as TForm2).active then
        result:=
        (Application.Components[j] as TForm2).Label1.Caption;
      

  3.   

    我想说的是我怎样获得当前处于激活状态的label1的caption
      

  4.   

    keyz 方法可用不过你动态建窗口时 不要用 Create(nil);