添加一个Button控件,假设命名为Button1,则将上面的代码写入到Button1的点击事件中即可,就是将
procedure TForm1.CheckBox1Click(Sender: TObject);
改为
procedure TForm1.Button1Click(Sender: TObject);
你的错误在于将上面的代码放在CheckBox1控件的点击事件中,这样只有在点击CheckBox1时才会执行,换句话说,如果你先点击CheckBox1时其他CheckBox没有选中的话,就只是添加了CheckBox1的Caption,再点击其他CheckBox控件时,响应的是其他控件的Click事件,而不是CheckBox1的Click事件。
只有当最后选中的是CheckBox1时,才可以达到你的目的。
不过要考虑重复点击的情况,也就是取消已选中的CheckBox 时,要删除字符口串中对应Caption 的字符串,否则“选中-取消-再选中”之后,就会有重复的,重复选中几次就会有几个重复项。