if checkbox1.Checked=false then
    checkbox1.Checked:=true;
  else
    checkbox1.Checked:=false;

解决方案 »

  1.   

    这样就可以了。
    checkbox1.Checked:=not  checkbox1.Checked;
      

  2.   

    if checkbox1.Checked=false then
        checkbox1.Checked:=true  //不要加分号!
      else
        checkbox1.Checked:=false;
      

  3.   

    if checkbox1.Checked=false then
        checkbox1.Checked:=true           <-------后面没有';'
      else
        checkbox1.Checked:=false;
      

  4.   

    false->true->false->true->false->true....死循环
      

  5.   

    if checkbox1.Checked=false then
        checkbox1.Checked:=true
      else
        checkbox1.Checked:=false;
    这样应该对了;
      

  6.   

    哦 不好意思,分号忘了去掉了,可是原因不在这里,大家可以编译一下看看。这个也是,大家看看,我一看到那个画面就想笑。checkbox1.Checked:=not(checkbox1.Checked);我是在onClick里写的,有错误吗?
      

  7.   

    他怎么会循环呢,我又不是change,我是Click呀。
      

  8.   

    当然会死循环了checkbox的change跟click是一样,同时触发的!
      

  9.   

    当然会死循环了checkbox的change跟click是一样,同时触发的!
      

  10.   

    那我怎么做呀,老大...极度迷茫ing...
      

  11.   

    甚至我exit都不可以,它非循环不可...
      

  12.   

    exit当然可以了!必须先把click里面的代码删除掉!
      

  13.   

    在onmousedown中写
    case checkbox1.Checked of
        true:checkbox1.Checked:=false;
        false:checkbox1.Checked:=true;  //不要加分号!
    end;
      

  14.   

    if not (checkbox1.Checked=false) then
    checkbox1.checked:=false;
      

  15.   

    你可以在OnMouseDowen和OnMouseUp里面写代码来实现不就行了
      

  16.   

    在窗体中添加一个按钮,然后在按钮的click中添加你的代码,点击该按钮试试.
    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      if checkbox1.Checked=false then
        checkbox1.Checked:=true
      else
        checkbox1.Checked:=false;
      end;
    你的问题解决了吧, 不过经过我的测试,在CHECKBOX的CheckBox1Click中加入以上代码,显然是自相矛盾的.
      设想一下,你的CHECKBOX是FALSE,点击该CHECKBOX,按理应该为TRUE;但你的程序代码又要让它为FLASE,这然道不自相矛盾吗??