有form1、form2、form3三个窗体,在form1中button1调用form2。  
 button1click事件
if  not  Assigned(form2)  then  
   form2:=Tform2.Create(application);  
   form2.ShowModal;  
 
在form2中有两个按钮button1和button2.单击button1调用form3.单击button2,返会form1.  
 
button1click事件  
     form3.Show;  
     hide;  
button2click事件  
     form1.Show;  
     close;  
 
在form3中有按钮button1,单击返回form2.  
button1clcik事件  
form2.show;  
close;  现在的问题是:如果从form2中button2click事件返回form1没有任何问题。但如果在form2中打开form3后,再返回form1时,form1没有成为当前窗体?请帮忙!

解决方案 »

  1.   

    button1click事件  
         hide;
         form3.Showmodal;  
         show;
           
    button2click事件    
         close;
      

  2.   

    问题解决了,原来我在form3中的button1事件中有动态创建了Form2.语句如下:button1clcik事件 
      form2:=tform2.create(applcation)  //去掉本句
      form2.show;  
      close;  
    去掉改句就可以了。但原因我不是很清楚,估计form2打开了两个吧 。请经验丰富着给与解释。