怎么在一个Form1显示后,让Form1创建一个ShowModal的Form2.
要在Form1显示后.马上显示Form2,在键盘或鼠标还没对Form1操作前.

解决方案 »

  1.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
      Form2.ShowModal;
    end;
      

  2.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
      if Not Assinged(Form2) then 
        Form2:=TForm2.Create(Self);
      Form2.ShowModal;
    end;
    这样应该好一点
      

  3.   

    同意楼上的
    Form2须先创建
    Form2:=Form2.Create(self);
      

  4.   

    不行的.我要的是Form1已显示出来才能显示Form2,
    楼上的那样会Form1看不见,只有关了Form2的才会出来Form1
      

  5.   

    我觉得楼主的意思应该是等Form1完全显示出来后,才显示form2。如果在Form1
    的Onshow里写代码的话,Form1就没能显示,而直接显示Form2
    可以在Form1的onActive事件中showmodal form2。不过,OnActive事件会是在窗口
    每次激活时触发。所以要一些额外的判断条件。其它有什么好方法我也洗耳恭听。
      

  6.   

    对.就是要zxp_ping(zxp) 说的那样的效果
      

  7.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
      if Not Assinged(Form2) then 
        Form2:=TForm2.Create(Self);
      Form2.ShowModal;
    end;