for i := 1 to count do
begin
comboBox := TComboBox.Create(Self); //根据程序上下文的count来动态生成ComboBox
comboBox.Parent := Panel1;
comboBox.Left := 10;
comboBox.Top := i * 50; // 控件顶部间距为50
comboBox.Items.Add('Item 1');
comboBox.Items.Add('Item 2');
comboBox.Items.Add('Item 3');
comboBox.Name := 'CC' + IntToStr(i); //这里已然按2位所说加了,还有代号为TAG的不会表达
// 添加更多的选项...
// 可以在这里设置其他ComboBox的属性,如宽度、高度、颜色等
comboBox.Show;
end;
end;
procedure TForm7.再来一个哟Click(Sender: TObject);
var
i, 计数: Integer;
begin
for i := 0 to ComponentCount - 1 do
begin
if Components is TComboBox then
begin
计数 := 计数 + 1;
ShowMessage('是的!我是!入库!' + 计数.ToString);
//ComboBox+N free掉! Components.Free; ===>>>看这里!为啥ComboBox被 ComboBox1 ComboBox3 ComboBox5这样一个个被释放掉?漏网之鱼如何解决?
end
else
begin
ShowMessage('我不是!滚蛋');
end;
end;
ShowMessage('名为"CC+X"的ComboBox的总数是:' + 计数.ToString);
end;
procedure TForm7.有残疾的Click(Sender: TObject);
var
i, 计数: Integer;
begin
计数 := 0;
for i := 0 to ComponentCount - 1 do
begin
if Components[i] is TComboBox then
begin
计数 := 计数 + 1;
ShowMessage(Components[i].Name); //为啥这个依次得到的就对呢?
//Components[i].Free; //为啥这里释放时是就有遗漏呢?
end;
end;
ShowMessage('ComboBox总数是:' + 计数.ToString);
end;