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;
具体看代码:
// 这是你的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;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息