求救!!!多FORM问题。菜鸟问题,高手也不就忽视。(20分)

  • 主题发起人 主题发起人 faguobali
  • 开始时间 开始时间
F

faguobali

Unregistered / Unconfirmed
GUEST, unregistred user!
我刚涉足Delphi,建FORM1,FORM2,FORM1
上放BUTTON1(form2.show),BUTTON2(close),点BUTTON1后,
FORM2显示,但此时点FORM1上的BUTTON2还是把FORM1给关闭了。
我想在FORM2(stay on top)后,FORM变成不可操作的,但是可见的,并且
保持FORM2始终在FORM1之上。
这是两个FORM,如果多个FORM,又如何办呢?
多谢各位师兄帮忙了。:))
 
相互调用
 
form2.ShowModal;
以模态方式显示即可.
 
form2.ShowModal;后FORM1不见了,我要FORM1和FORM2同在,
并且保持FORM2始终在FORM1之上,但FORM1是不可操作的,
即其上的BUTTON1和BUTTON2是不可执行的。
其实也就是登录画面和主表单的关系。即出现登录画面时不让操作
主表单上的一切部件,明白吗?
多谢了:)>
 
主程序中创建form1,不要同时创建两个窗口。
form1.button1.click中创建form2
form2使用模式窗口就可以了。
 
使用模式窗口。
 
真是想不通为什么这样不行呢?
1、先建立两个窗口,把Form2.Formstyle 设成fsStayOnTop
2、把Form2从project---》option的自动创建中去掉。
3、添加如下代码。
4、运行程序。
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2 := TForm2.Create(Application);
Form2.show;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.Close;
end;
 
!!!form2居于form1之上,
!!!此时form1不能用,上面的控件也都不可操作
当然button1和button2都是点击不了的。并且此时不能拖动form1.
说白了就是form1能看到,但不起作用。
you see???:)
 
真是不明白你在搞什么,明明可以的,你是不是那里做的不对头啊,要
不要我发一个编译好的程序给你看看啊。
 
在button1里面写入form2.showmodal
在button2里面写入form1.close
这样子应该可以了
完全符合你所说的那个意思
form1看的见但不能做任何操作
 
以模态方式显示Form2,在button1单击事件中加入代码如:Form2.showmodal 即可
 
老大,你再看清楚我的代码
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2 := TForm2.Create(Application);
Form2.show;
end;
 
你若觉得我的form2.ShowModal;方法不妥.
那就依‘娃娃’的方法。
他的方法可行!
 
用ShowModal模态窗口肯定不行。

你先搞清楚模态窗口究竟是个什么概念先。
 
不是还没有解决吧?
 
to 娃娃
你这样做Form1上的按钮还是可以点呀。
我觉得还是用ShowModal,
to faguobali,
form1为什么会消失?是form2盖住了吧,还是你吧showmodal写在了form1的oncreate事件
里了?如果是就在前面加一个form1.show吧
 
理解错误,原来是想Form2出来的时候Form1不能操作啊,那应该用
showmodal肯定可以的。为什么不行,你是不是说不能关闭Form2啊?
 
多谢了,多谢了,
各位师兄,实在抱歉。
愚弟操作失误,望各位海涵。
 
后退
顶部