两个窗口怎样互相切换呢? ( 积分: 50 )

  • 主题发起人 主题发起人 ptfjy
  • 开始时间 开始时间
P

ptfjy

Unregistered / Unconfirmed
GUEST, unregistred user!
在Form1窗口中,单击Form1中的一个按钮后,关闭Form1窗口,并显示Form2窗口.
在Form2窗口中,单击Form2中的一个按钮后,关闭Form2窗口,并显示Form1窗口.
--------------------------------------------------------------------
如何实现???
我在Form1窗口的按钮中的代码是:
form1.close;
form2.showmodal;
-----------------------
我在Form2窗口的按钮中的代码是:
form2.close;
form1.showmodal;
-----------------------
但运行测试后,发现会出错,为什么???

 
在Form1窗口中,单击Form1中的一个按钮后,关闭Form1窗口,并显示Form2窗口.
在Form2窗口中,单击Form2中的一个按钮后,关闭Form2窗口,并显示Form1窗口.
--------------------------------------------------------------------
如何实现???
我在Form1窗口的按钮中的代码是:
form1.close;
form2.showmodal;
-----------------------
我在Form2窗口的按钮中的代码是:
form2.close;
form1.showmodal;
-----------------------
但运行测试后,发现会出错,为什么???

 
Form1:
Form2.ShowModal;
Form2:
Form2.Close;
Form1.Visible:=False;
Form1.ShowModal;
 
将Form1作为主窗口
在Form1窗口中,单击Form1中的一个按钮后
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Hide;
form2.showmodal;
end;

在Form2窗口中,单击Form2中的一个按钮后
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.Show;;
form2.close;
end;
 
wufongming:你好
还是不行!与我先前一样,还是提示:cannot make a visible window modal错误!
-----------------------------------
有三个窗口:FormMain,Form1,Form2
在FormMain的一个按钮处的代码为:Form1.showmodal;
在Form1的一个按钮处代码为:
Form1.close;
Form2.showmodal;
在Form2的一个按钮处代码为:
Form2.close;
Form1.showmodal;
如何实现???
 
Form1:
Form2.ShowModal;
Form2:
Form2.Close;
Form1.Visible:=False; // 不是有这句吗 ?
Form1.ShowModal;

执行一遍会不动到是真的
 
to:流氓兔888
用form1.show以后当然是可以的,但form1的模式就不是showmodal了,
这样就会有一个问题出来了:当鼠标点另外一个比较大的窗口时,这个form1窗口可能
被遮盖在较大窗口的下方.所以这个办法也不行!
 
在Form2窗口中,单击Form2中的一个按钮后
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.Show;;
form2.close;
Form1.FormStyle:=fsStayOnTop;//加上这句看看行不行,
end;
 
我觉得这样还不如在formMain窗口中加一个timer1来的好一些!
 
form1//
implementation
uses unit2;
form2.Show;
form1.Hide;
form2.SetFocus;
form2
//implementation
uses unit1;
form1.show;
form2.Hide;
form1.SetFocus;
 
用show没有用!!!!!!!!!!!!
看来我只能用timer1控件了.
-----------formMain--------------
form1.showmodal;
在timer1事件中
if 按了form1的按钮 then
Begin
timer1.enabled:=false;
form2.showmodal;
End
Else
Begin
timer1.enabled:=false;
form3.showmodal;
End;
--------------------------
~~~~~~~~form1~~~~~~~~~~~~~
form1.close;
formMain.timer1.enabled:=true;
-------------------------------
~~~~~~~~form2~~~~~~~~~~~~~
form2.close;
formMain.timer1.enabled:=true;
-------------------------------
这样能解决问题,但总觉得用一个timer控件,感觉不是很好,应该有好的办法?
 
不管黑猫白猫,抓住老鼠就是好猫。
 

Similar threads

回复
0
查看
820
不得闲
S
回复
0
查看
695
SUNSTONE的Delphi笔记
S
S
回复
0
查看
783
SUNSTONE的Delphi笔记
S
后退
顶部