delphi 中 想在form6中按个按钮后跳回到form5执行跳转的地方,继续往下运行,怎么做? 5
delphi中form1为主窗体,form5从form1跳转过来的,form6从form5跳转过来的,现在想在form6中按个按钮后跳回到form5执行跳转的地方,继续往...
delphi 中 form1为主窗体,form5从form1跳转过来的,form6从form5跳转过来的,现在想在form6中按个按钮后跳回到form5执行跳转的地方,继续往下运行,怎么做?谢谢
展开
1个回答
展开全部
简单的说,别用form6.Show();,改用ShowModal();
具体看代码:
// 这是你的form5的代码,即调用方的代码
procedure TForm1.btn1Click(Sender: TObject);
begin
// 调用窗口前的,你自己的其他代码
// ......................
// 如果窗口已存在,则先释放干净
if Assigned(Form2) then
FreeAndNil(Form2);
// 创建窗口
Form2 := TForm2.Create(nil);
try
// 窗口显示前的初始化代码
Form2.Caption := '第二个窗口';
Form2.Left := 100;
Form2.Top := 200;
// 窗口显示,并获取返回值
if Form2.ShowModal = mrOk then
ShowMessage('返回mrOK')
else
ShowMessage('没有返回mrOK')
{
// 窗口显示,不处理返回值
Form2.ShowModal();
}
// 调用窗口后的,你自己的其他代码,此时Form2并没有释放,还可以继续访问它
// ShowMessage(Form2.Caption);
// ......................
finally
// 释放窗口
FreeAndNil(Form2);
end;
end;
// 这是被调用方的代码,即你的form6的窗口中为了响应ShowModal需要写的代码,不处理返回值时可以不写
procedure TForm2.btnOKClick(Sender: TObject);
begin
ModalResult := mrOk;
end;
procedure TForm2.btnCancelClick(Sender: TObject);
begin
ModalResult := mrCancel;
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询