中易网

delphi 中 想在form6中按个按钮后跳回到form5执行跳转的地方,继续往下运行,怎么做?

答案:1  悬赏:70  
解决时间 2021-01-15 07:27
  • 提问者网友:溺爱和你
  • 2021-01-14 19:49
delphi 中 想在form6中按个按钮后跳回到form5执行跳转的地方,继续往下运行,怎么做?
最佳答案
  • 二级知识专家网友:走死在岁月里
  • 2021-01-14 20:05
简单的说,别用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;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息