一个主form mainForm
它上面一个按键“弹出form1",实现弹出form form1
在form1有个按键"弹出form2",实现弹出form form2我要怎么才能实现这样:
步骤一:点击主form上面的"弹出form1", showmodel出form1;
    二:点击form1上面的"弹出form2", showmodel出form2,这是form1消失
请大侠指教!!

解决方案 »

  1.   


    //动态创建Form1,Form2;
    //MainForm中
    uses Unit1;procedure TMainForm.Button4Click(Sender: TObject);
    begin
      Form1:=TForm1.Create(nil);
      Form1.ShowModal;
    end;Form1中
    uses Unit2;procedure TForm1.Button1Click(Sender: TObject);
    begin
      Form1.Hide;
      Form2:=TForm2.Create(nil);
      Form2.ShowModal;
      form1.Close;
    end;
      

  2.   

    uses form1,form2点击1:
    form1.showmodal;
    点击2:
    form2.showmodal;
    form1.hide;
      

  3.   

    注意,hide虽然可以隐藏,但是lz的要求是showmodal,隐藏而不关闭或造成主窗体无法获取焦点而无法关闭的bug。
      

  4.   

    调用第一个子窗体没什么。第二个的时候注意先隐藏了再showmodal,后面再加一个show就可以了
    var
     ff:TForm3;
    begin
      ff := TForm3.Create(nil);
      self.Hide;
      ff.ShowModal;
      ff.Free;
      self.Show;
    end;
      

  5.   

    一楼的没有调用free方法会造成内在泄露
      

  6.   

    ShowModal的时候只能操作当前窗体,无法操作其他窗体,包括主窗体