昨天我提了这个问题,答案不怎么满意,我想今天有人能给我满意的答案。
在mainform中有“确定”按钮,可以显示form2窗口,用的是showmodal方法,在form2也有“确定”按钮,可以显示form3,用的也是showmodal方法。此时,按下form2的“确定”,应该关闭form2,并显示form3,可是这一点做不到,请问哪位高手有好的方法,比如调用API函数等,请给出具体的源代码。
但不我不希望用旁门邪道,什么隐藏form2,设置form2的left属性啊,这样的请不要回答。
在mainform中有“确定”按钮,可以显示form2窗口,用的是showmodal方法,在form2也有“确定”按钮,可以显示form3,用的也是showmodal方法。此时,按下form2的“确定”,应该关闭form2,并显示form3,可是这一点做不到,请问哪位高手有好的方法,比如调用API函数等,请给出具体的源代码。
但不我不希望用旁门邪道,什么隐藏form2,设置form2的left属性啊,这样的请不要回答。
解决方案 »
- 窗体之间传递值,但不破坏对象的封装呢?
- 程序占用资源问题
- cxGrid的冻结列怎么设置
- 如何在网络间传输记录类型的数据?
- 一个初级问题,哪位大虾出手相助,在线等
- 有关ADOConnection事务处理的小问题,请高手指点!
- CPlApplet函数请教
- 在Query的SQL中怎么传递整型和日期型变量!
- 如图(http://thunder21.3322.net/card.jpg)的报表怎样来套打?
- cxGrid的简单问题,各位请进
- 调用TFileStream.Write(lpData, 1024), 其中lpData的类型为PChar, 为什么调用后返回值总是0?
- 求助:用哪一个win API函数或何种方法可以设置某一文件夹为WEB共享
form1确定
if form2.ShowModal=1 then
form3.showmodal
form3:=tform3.create(application);
try
if form3.showmodal=mrok then
{do somethint};
finally
form3.free;
form3:=nil;
end;
begin
form2.ShowModal;
end;procedure TForm2.Button1Click(Sender: TObject);
begin
Hide;
form3.ShowModal;
Show;// close;
end;
MainForm和Form2的按钮的ModalResut都设置成mrOk
MainForm的按钮事件
procedure TMainForm.Button1Click(Sender: TObject);
begin
try
form2.showmodal;
finally
case form2.ModalResult of
mrOK:
begin
try
form3.ShowModal;
finally
end;
end;
end;
end;
end;
if (某条件被满足) then begin
ModalResult:=mrOK;
with TForm2.Create(Application) do begin
ShowModal;
Free;
end;
end;
Form2的“确定”按钮的Click方法:
if (某协条件被满足) then begin
ModalResult:=mrOK;
with TForm3.Create(Application) do begin
ShowModal;
Free;
end;
end;