我动态创建了很多combobox组件(具体个数是可知的),请问在用户对combobox操作后,我如何取得这些
combobox值呢?

解决方案 »

  1.   

    遍历窗口上的所有组件,如果某组件的类型及名字吻合,就将该组件转换为combobox类型,然后可以调用该组件方法及属性
      

  2.   

    有很多方法:
    1 在创建combobox时,为其name赋值(不能相同)
       例如:
      with TComboBox.Create(Self) do
      begin
        Name := 'combo1';
      end  以后就可以:
      if (FindComponent('Combo1') is TComboBox) then
         ShowMessage((FindComponent('Combo1') as TComboBox).Text)2 在创建ComboBox时,建立一个数组:
      var comboarray :array of TComboBox;  以后就可以: ShowMessage(comboarray[0].Text);
      

  3.   

    可以用Sender參數來具體到每一個控件
      

  4.   

    来迟了,TComboBox(FindComponent('动态创建名称')).Text
      

  5.   

    动态创建时,设置其Tag,用于分组区分,然后写一个OnChage事件,赋给TComboBox.OnChange,在该事件中根据TComboBox(Sender).Tag区分后作相应的操作。