模型如下:
第一个窗体: 用户可以选择一些 TCheckBox
选择好后,按“下一步”出现“第二个窗体”第二个窗体: 根据“第一个窗体”中用户选定的TCheckBox的数目,动态创建相同数目的
TPanel(TPanel的Caption := TCheckBox.Caption)
用户可以按“上一步”重新回到“第一个窗体中”选择TCheckBox问题:当用户再次进入“第二个窗体时”,会重新创建TPanel,并且和以前创建的重合在一起去了,有什么好办法解决这个问题呢?(希望效率能够最好,即只重新创建新选定的部分和清除取消选定的部分)
第一个窗体: 用户可以选择一些 TCheckBox
选择好后,按“下一步”出现“第二个窗体”第二个窗体: 根据“第一个窗体”中用户选定的TCheckBox的数目,动态创建相同数目的
TPanel(TPanel的Caption := TCheckBox.Caption)
用户可以按“上一步”重新回到“第一个窗体中”选择TCheckBox问题:当用户再次进入“第二个窗体时”,会重新创建TPanel,并且和以前创建的重合在一起去了,有什么好办法解决这个问题呢?(希望效率能够最好,即只重新创建新选定的部分和清除取消选定的部分)
以后就可以通过 tag 的属性随心所欲创建和清除Tpanel
-----------------------------------------------
把TPanel 创建的指针放到Tcheckbox得tag属性里
以后就可以通过 tag 的属性随心所欲创建和清除Tpanel
-----------------------------------------------"创建的指针"?能不能具体一点?
我是用for i:= 0 to n do
begin
Panel := TPanel.Create;
Pnael.Left := .....;
.............
end;
来创建TPanel的
checkcount:Integer;
在按“下一步”时统计选定的TCheckBox的数目(checkcount),setlength(MyPanel,checkcount)动态创建TPanel
在按“上一步”时将那些TPanel通通free,再=nil;