form1是主form,你把它关了,form2自然就关了
将form2也设置为主form就可以了
将form2也设置为主form就可以了
解决方案 »
- DELPHI 替换API问题.
- 当用户改变listview列的宽度时触发哪个事件?
- 很容易就可以得到的50分,难道你不想要吗?动动你的手就可以啦
- 大家帮忙,我想写个小程序。
- 如何在内存中开辟一个区域用来保存从网上下载的excel文档?
- 99分请教:如何识别系统是简体还是繁体,是win9x还是win2000
- Delphi明明比vc好用,为什么还要用VC呢!!!郁闷
- 大家新年好,提个关于新建数据表的问题先,高分相赠
- 背景是Timage,如何实现TGroupBox透明效果?
- 我真的很着急,你们大家都不会吗?还没人理我的话,我只好下网看帮助了!!
- 不使用midas技术,如何编写一个dcom服务器来进行多层数据库开发?
- 如何将rm文件转为avi文件?
你可以在关闭Form1的按钮Click事件中这样写:
procedure TForm1.Button1Click(Sender: TObject);
begin
Hide;
Form2.Show;
end;
但要注意的是,这样做你的主窗体Form1只是被隐藏了,并没有被释放。
如果要在Form2做完事情后就关闭的话,那时也要将Form1关闭掉。即:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Close;
end;
如果要在Form2做完事情后再回到主窗体Form1话,那时可将Form1重新显示。即:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Show;
end;
当然,Unit1单元中要uses Unit2;Unit2单元中要uses Unit1
呵这个办法恐怕也不妥吧……
在Form1里创建Form2:
Application.MainForm.Hide ;
Form2.Show ;在Form2.Close里加入:
application.Terminate ;
就可以即隐藏主窗体又可显示F2,又避免Unit间的重复引用!
因为Form1是主窗口,它的关闭就意味着整个程序的关闭,当然Form2就不见了至于改Form2为主窗体是治标不治本的,你还得先把Form1 Show出来把Form2 Hide掉,回到上面的问题中去了可以在Project options中改变主窗体,也可在工程文件中通过改变第一个创建的窗体达到目的