在onchange里写啊
  if not flag then Exit;

解决方案 »

  1.   

    if not flag then abort;
    不能用exit;
      

  2.   

    我试了试不行啊:一点反应也没有
    procedure TForm1.PageControl1Change(Sender: TObject);
    var
    flag:boolean;
    begin
    flag:=false;
    if not flag then abort;//或Exit;
    end;
    哪里有错
      

  3.   

    用onchanging事件!!它有个参数是AllowChange,因为onchanging事件在onchange事件前
    所以可以达到目的,代码为
    procedure TForm1.PageControl1Changing(Sender: TObject;
      var AllowChange: Boolean);
    begin
     allowchange:=flag;//flag为你自己设定的标志,就okla
    end;
      

  4.   

    不记得PageControl有没有onchanging事件,有的话就如thedream(梦幻使者) 所说的,
    没有就用hlbl11(愚公)和 Focus(老鱼) 的方法,但是无论哪种方法Flag都是全局变量,
    你在条件满足后置它为True,其它情况置为False;
      

  5.   

    我不会delphi,只是过来凑凑热闹。
    不晓得可不可以在 一个tabsheet中没完成某项操作前将其他tabsheet的enabled置为false呢。
      

  6.   

    tiger201:你的想法是不可以的。除非你把其他的tabsheet全部隐藏。
    new_life:thedream(梦幻使者) 的意见是正确
      

  7.   

    完成任务后, 修改 Flag