c: TCheckBox;c:=true;
为什么 没有打上钩呢?
是要刷新吗?如何刷新呢?
为什么有时候又可以呢和c相关联的其它任何代码都没有!!!

解决方案 »

  1.   

    因为设置 TCheckBox.Checked属性又会触发 OnClick 事件。
    不需要在 OnClick 里去赋值。把代码c.Checked := true;去掉即可。
      

  2.   

    设置 TCheckBox.Checked 属性会触发OnClick事件,把 c.checked := true; 代码行去掉就可以。
      

  3.   

    一楼的,在这里是打错字了,谢谢你提醒
    2~3楼,
    我已经确认没有其它代码干扰源程序是
    一个按钮保存很多个checked值 ,,,之后经过一些其它处理
    另外一个按钮恢复这些checked值,,,可是发现了有checked值不对,到最后索性把这个checked赋为true,恢复的时候仍然不是checked
    当然程序中没有使用Onclick等源码也很简单,实在不行,我把源码发给大侠们看看这么简单的问题在哪里呢?哈哈哈哈
      

  4.   

    你可以把所有的check看作一个组,然后遍历组中的每个check是否处于chenked状态,然后根据返回的状态做相应的操作