在你的调用穿窗体写就可以啊
pro...
form1.show;
form2.showmodal;
...
当form1关闭时,form2就showmodal啦,而且,你的form1肯定不是主窗体,所以这样就可以啊

解决方案 »

  1.   

    我想实现的是:
    点form1的button1,form1.close; form2.showmodal;
    点form2的button2, form2.close; form1.showmodal;
      

  2.   

    在主窗体中做一函数包含form2.showmodal;
    当form1关闭时调用,或用消息
      

  3.   

    1:通过共同的主窗体打开两子窗体:(推荐)
      主窗体MainForm,子窗体Form1和Form2.  将子窗体Form1.Button.ModalResult设为mrOK,不用在单击事件下写关闭窗体代码。
     
    //主窗体Button1单击事件调用Form1和Form2
    procedure TMainForm.Button1Click(Sender: TObject);
    begin
         Form1:=TForm1.Create(Self);
         case Form1.ShowModal of
           mrOK: Form2.Show;
           mrCancel:; 
         end;
    end;2:Form1在关闭后调用Form2
    begin
         Form2:=TForm2.Create(Application);
         Form2.Show;
         Self.Close;
    end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
         Form2:=TForm2.Create(Application);
         Form2.Show;
         Self.Free;
    end;
    //
    procedure TForm2.Button1Click(Sender: TObject);
    begin
    Form1:=TForm1.Create(Application);
         Form1.Show;
         Self.Free;
    end;
      

  5.   

    form.show的话,还是会响应主窗体的事件,我想在form1、form2之间切换,但都是showmodal;
      

  6.   

    不妨这样试一下:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        form1.CloseQuery;
        form1.Hide;
        form2.showModal;
    end;
    然后在表单2中执行下面操作
    procedure TForm2.Button1Click(Sender: TObject);
    begin
        form2.Close;
    end;
    procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
        form1.Show;
    end;
      

  7.   

    这样:
    再button事件中
    form1.hide;
    form2.showmodal;好用的,我试过了
      

  8.   

    我也顺便问问个愚蠢的问题,如果用Form1.release以后,如果在Form2的button想再打开Form1的话就会报错了。是这样吗?
      

  9.   

    这个问题需要那么麻烦吗?还是我理解错误?
    你要showmodal就在你写的show的地方换成showmodal不就可以了?我这里刚做了测试什么也不需要改变就可以实现啊!
      

  10.   

    对了,showmodal后一定要free啊!
      

  11.   

    form1,form2 切换,要showmodal不要show
      

  12.   

    你可以用隐藏的方法来达到showmodal的效果,
    即form1.visible:=false;
    form2.showmodal;form2.close;
    form1.visible:=true;