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

delphi中form1为主窗体,form5从form1跳转过来的,form6从form5跳转过来的,现在想在form6中按个按钮后跳回到form5执行跳转的地方,继续往... delphi 中 form1为主窗体,form5从form1跳转过来的,form6从form5跳转过来的,现在想在form6中按个按钮后跳回到form5执行跳转的地方,继续往下运行,怎么做?谢谢 展开
 我来答
天马座的流星拳
2016-05-07 · TA获得超过3157个赞
知道大有可为答主
回答量:2756
采纳率:73%
帮助的人:886万
展开全部

简单的说,别用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;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式