MX4*_*399 0 forms delphi modal-dialog
当形式A是模态的并且它显示第二个模态形式B,并且B的模态结果被设置而B然后关闭时,A也被关闭.
如何防止这种情况?
事实并非如此,您的代码中还有其他一些问题.设置ModalResult仅影响当前模态窗体.试试这个非常简单的例子:
创建一个新表单
将按钮放在上面
在按钮OnClick事件处理程序中添加以下代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
with TForm1.Create(Self) do begin
if ShowModal = mrCancel then
Self.Color := RGB(Random(256), Random(256), Random(256));
end;
end;
Run Code Online (Sandbox Code Playgroud)您将观察到按下每个按钮会创建一个新的模态窗体,您可以根据需要重复此操作.关闭表单将设置ModalResult为mrCancel并重新启用父表单.要退出应用程序,您需要按创建的相反顺序逐个关闭所有表单.