form2 主窗口
目标:想让主窗口先启动,再启动登陆窗口,停留在主窗口上面,使得此时主窗口看得见但是不能点击。
然后登陆以后,主窗口的菜单栏里面点出来的都是子窗口。(主窗口和登录窗口均连接数据库)
现在遇到问题:之前网上也搜过类似的问题,现在已经将主窗口的formstyle设为了fsMDIform,登陆窗口的formstyle设为了fsNormal,project那里也将自动生成的form改为只有主窗口了。原来还能出现登陆窗口,然后登陆后不能点击菜单栏去调用子窗口;现在不知在哪里改动过,连登陆窗口都不显示了。。。。
在线等,急......
17 个解决方案
#1
把代码贴出来看看!
先显示FORM2再把FORM1.showmodal;
先显示FORM2再把FORM1.showmodal;
#2
form2.onshow那里建form1,然后form1.showmodal
#3
要那部分代码?
#4
form2.onshow和form2.create有什么区别?网上一些解决方法好像集中在这两个上。
如何在form2.onshow上建form1,然后在哪里form1.showmodal?
如何在form2.onshow上建form1,然后在哪里form1.showmodal?
#5
上面说错了,是form2.onshow和form2.active有什么区别,网上的一些解决办法集中在这两个上
#6
procedure TForm2.FormShow(Sender: TObject);
begin
Form1:= TForm1.Create(self);
Form1.ShowModal;
Form1.Free;
...
end
begin
Form1:= TForm1.Create(self);
Form1.ShowModal;
Form1.Free;
...
end
#7
主窗体form1
procedure TForm1.FormShow(Sender: TObject);
begin
Form2:= TForm2.Create(self);
Form2.ShowModal;
Form2.Free;
end;
登陆窗体登陆按钮
procedure TForm2.Button1Click(Sender: TObject);
begin
if 通过 then
begin
form2.Close;
form1.Show;
end
else
showmessage('验证没有通过');
form2.SetFocus;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Form2:= TForm2.Create(self);
Form2.ShowModal;
Form2.Free;
end;
登陆窗体登陆按钮
procedure TForm2.Button1Click(Sender: TObject);
begin
if 通过 then
begin
form2.Close;
form1.Show;
end
else
showmessage('验证没有通过');
form2.SetFocus;
end;
#8
我这样拿进去编译了,报错说cannot make a visble window modal
#9
不要沉啊,大家帮忙
#10
[code=Delphi(Pascal)]
procedure TForm2.FormActivate(Sender: TObject);
begin
with tForm1.Create(self) do
begin
ShowModal;
free;
end;
end;
code]
procedure TForm2.FormActivate(Sender: TObject);
begin
with tForm1.Create(self) do
begin
ShowModal;
free;
end;
end;
code]
#11
procedure TForm1.FormActivate(Sender: TObject);
begin
with tForm2.Create(self) do
begin
ShowModal;
free;
end;;
end;
#12
试过了,没问题,如果你还有问题,把那部分代码贴出来!
#13
procedure TForm2.FormShow(Sender: TObject);
begin
Form1:=TForm1.Create(self);
try
if Form1.showmodal <> mrok then
close;
finally
Form1.free;
end;
end;
我的代码是这样的
现在可以先跳出form1登陆框了,但是我用户名密码验证完后跳不出form2,这是怎么回事情?
begin
Form1:=TForm1.Create(self);
try
if Form1.showmodal <> mrok then
close;
finally
Form1.free;
end;
end;
我的代码是这样的
现在可以先跳出form1登陆框了,但是我用户名密码验证完后跳不出form2,这是怎么回事情?
#14
顶
#15
目标:想让主窗口先启动,再启动登陆窗口,停留在主窗口上面,使得此时主窗口看得见但是不能点击。
然后登陆以后,主窗口的菜单栏里面点出来的都是子窗口。(主窗口和登录窗口均连接数据库)
你在form1.onActivate 这个事件下面写:
是应该可以实现了的。
现在遇到问题:之前网上也搜过类似的问题,现在已经将主窗口的formstyle设为了fsMDIform,登陆窗口的formstyle设为了fsNormal,project那里也将自动生成的form改为只有主窗口了。 原来还能出现登陆窗口,然后登陆后不能点击菜单栏去调用子窗口;现在不知在哪里改动过,连登陆窗口都不显示了。。。。
说明你的错误不是这里的show的问题,应该是别处有错了。
然后登陆以后,主窗口的菜单栏里面点出来的都是子窗口。(主窗口和登录窗口均连接数据库)
你在form1.onActivate 这个事件下面写:
procedure TForm1.FormActivate(Sender: TObject);
begin
if not Assigned(Form2) then
Form2 :=TForm2.Create(Self);
form2.ShowModal;
FreeAndNil(Form2);
end;
是应该可以实现了的。
现在遇到问题:之前网上也搜过类似的问题,现在已经将主窗口的formstyle设为了fsMDIform,登陆窗口的formstyle设为了fsNormal,project那里也将自动生成的form改为只有主窗口了。 原来还能出现登陆窗口,然后登陆后不能点击菜单栏去调用子窗口;现在不知在哪里改动过,连登陆窗口都不显示了。。。。
说明你的错误不是这里的show的问题,应该是别处有错了。
#16
试下这个
#17
正解
#1
把代码贴出来看看!
先显示FORM2再把FORM1.showmodal;
先显示FORM2再把FORM1.showmodal;
#2
form2.onshow那里建form1,然后form1.showmodal
#3
要那部分代码?
#4
form2.onshow和form2.create有什么区别?网上一些解决方法好像集中在这两个上。
如何在form2.onshow上建form1,然后在哪里form1.showmodal?
如何在form2.onshow上建form1,然后在哪里form1.showmodal?
#5
上面说错了,是form2.onshow和form2.active有什么区别,网上的一些解决办法集中在这两个上
#6
procedure TForm2.FormShow(Sender: TObject);
begin
Form1:= TForm1.Create(self);
Form1.ShowModal;
Form1.Free;
...
end
begin
Form1:= TForm1.Create(self);
Form1.ShowModal;
Form1.Free;
...
end
#7
主窗体form1
procedure TForm1.FormShow(Sender: TObject);
begin
Form2:= TForm2.Create(self);
Form2.ShowModal;
Form2.Free;
end;
登陆窗体登陆按钮
procedure TForm2.Button1Click(Sender: TObject);
begin
if 通过 then
begin
form2.Close;
form1.Show;
end
else
showmessage('验证没有通过');
form2.SetFocus;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Form2:= TForm2.Create(self);
Form2.ShowModal;
Form2.Free;
end;
登陆窗体登陆按钮
procedure TForm2.Button1Click(Sender: TObject);
begin
if 通过 then
begin
form2.Close;
form1.Show;
end
else
showmessage('验证没有通过');
form2.SetFocus;
end;
#8
我这样拿进去编译了,报错说cannot make a visble window modal
#9
不要沉啊,大家帮忙
#10
[code=Delphi(Pascal)]
procedure TForm2.FormActivate(Sender: TObject);
begin
with tForm1.Create(self) do
begin
ShowModal;
free;
end;
end;
code]
procedure TForm2.FormActivate(Sender: TObject);
begin
with tForm1.Create(self) do
begin
ShowModal;
free;
end;
end;
code]
#11
procedure TForm1.FormActivate(Sender: TObject);
begin
with tForm2.Create(self) do
begin
ShowModal;
free;
end;;
end;
#12
试过了,没问题,如果你还有问题,把那部分代码贴出来!
#13
procedure TForm2.FormShow(Sender: TObject);
begin
Form1:=TForm1.Create(self);
try
if Form1.showmodal <> mrok then
close;
finally
Form1.free;
end;
end;
我的代码是这样的
现在可以先跳出form1登陆框了,但是我用户名密码验证完后跳不出form2,这是怎么回事情?
begin
Form1:=TForm1.Create(self);
try
if Form1.showmodal <> mrok then
close;
finally
Form1.free;
end;
end;
我的代码是这样的
现在可以先跳出form1登陆框了,但是我用户名密码验证完后跳不出form2,这是怎么回事情?
#14
顶
#15
目标:想让主窗口先启动,再启动登陆窗口,停留在主窗口上面,使得此时主窗口看得见但是不能点击。
然后登陆以后,主窗口的菜单栏里面点出来的都是子窗口。(主窗口和登录窗口均连接数据库)
你在form1.onActivate 这个事件下面写:
是应该可以实现了的。
现在遇到问题:之前网上也搜过类似的问题,现在已经将主窗口的formstyle设为了fsMDIform,登陆窗口的formstyle设为了fsNormal,project那里也将自动生成的form改为只有主窗口了。 原来还能出现登陆窗口,然后登陆后不能点击菜单栏去调用子窗口;现在不知在哪里改动过,连登陆窗口都不显示了。。。。
说明你的错误不是这里的show的问题,应该是别处有错了。
然后登陆以后,主窗口的菜单栏里面点出来的都是子窗口。(主窗口和登录窗口均连接数据库)
你在form1.onActivate 这个事件下面写:
procedure TForm1.FormActivate(Sender: TObject);
begin
if not Assigned(Form2) then
Form2 :=TForm2.Create(Self);
form2.ShowModal;
FreeAndNil(Form2);
end;
是应该可以实现了的。
现在遇到问题:之前网上也搜过类似的问题,现在已经将主窗口的formstyle设为了fsMDIform,登陆窗口的formstyle设为了fsNormal,project那里也将自动生成的form改为只有主窗口了。 原来还能出现登陆窗口,然后登陆后不能点击菜单栏去调用子窗口;现在不知在哪里改动过,连登陆窗口都不显示了。。。。
说明你的错误不是这里的show的问题,应该是别处有错了。
#16
试下这个
#17
正解