就象VB的Text控制似的,比如,窗口上有一个Text1控件然后你复制一下,再往窗口上粘贴,贴上去的是Text1(0),再贴就是:Text(1)……,而不是Text2。这样就成了一个Text1的数组。但是Delphi里的Edit控件就不行,复制完贴上去的就是Edit2,Edit3……,不能形成数组。但是我还想要用这样的一个数组(如Edit1(0),Edit(1),Edit(3)……)有什么办法可以办到吗?

解决方案 »

  1.   

    不知道你什么意思,DEPHI是自动命名的
      

  2.   

    利用Edit控件的Controls属性可以做到。也可以利用Components属性.利用Components属性:
    在Form中放置三个Edit组件,那么可以对这三个Label组件进行以下类似控件数组的操作:var
      i: Integer;
    begin
      for i := 0 to 2 do
      with Components[i] as TEdit do
        ……;
    end;任何组件都是从TComponent继承而来的,因此任何组件都自然拥有的控件数组属性Components,也自然拥有了寻访组件的索引属性ComponentIndex。该索引属性代表该组件在拥有它的组件(Owner而非Parent)中的标号,即在拥有它的组件(Owner而非Parent)中的数组Components中的索引号。ComponentIndex既可以读取,也可以修改。但注意,ComponentIndex的取值不能超过父一级组件拥有的总组件数目。————————————————————————————————利用容器控件的Controls[index]属性以及类型转换(as)。例如:在Panel组件中放置5个Edit组件,那么可以实现以下控件数组的操作:var
      i: Integer;
    begin
      for i := 0 to 4 do
      with Panel1.Controls[i] as TEdit do
        ……;
    end;注:TControl is the base class for all components that are visible at runtime.
      

  3.   

    上贴第一句话改为“利用容器控件的Controls……”
      

  4.   

    我知道了,我用fangte()的方法试过了,用容器的Controls属性的方法简单方便,我比较喜欢,呵呵。wycg_cnh20(华 华),不知道你说是不懂谁的意思?