有这么个问题:在form1界面上的一个按钮创建form2,并showmodal;在form2的formshow事件里面写form1.enable=false;form1.enable=True;这时候form2就只是show的状态 不再是form1的前置窗体 这个怎么整回来?

解决方案 »

  1.   

    为什么要修改form1.enable ? 如果原来就是false的,怎么能点击form1上的按扭來创建form2 ?
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
       Form2:=TForm2.Create(nil);
       Form2.ShowModal;
    end;procedure TForm2.FormShow(Sender: TObject);
    begin
      with Form1 do
      begin
        Enabled := False;
        Enabled := True;
      end;
    end;这时候可以点到Form1 我的问题是怎么样回复到showmodal的状态 即点不到Form1
      

  3.   

    Form2.ShowModal后,Form1就不能再点了,不用做什么设置的
      

  4.   

    你自己试试 我那样代码下去的话可以点到form1。我用的是delphi2010
      

  5.   

    procedure TForm2.FormShow(Sender: TObject);
    begin
      with Form1 do
      begin
      Enabled := False;
      Enabled := True;
      end;
    end;
    把这个代码去掉就可以了。
    你是想告诉我们这是bug?
      

  6.   

    就是有用才会把他设置为false完后再设置为true 总不能把整个工程搞出来给大伙看吧
    我就是想这样设置完后还有没办法恢复回去
      

  7.   

    解决了 结贴。
    procedure TForm2.FormShow(Sender: TObject);
    begin
      with Form1 do
      begin
      Enabled := False;
      Enabled := True;
      end;
    DisableTaskWindows(Handle);
    end;