顶部模态窗体关闭嵌套模态窗体关闭所有其他模态窗体?
答
这是不正确的,在你的代码中必须有一些其他的问题。设置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;
您会观察到每个按钮按下都会创建一个新的模态形式,并且您可以根据需要经常重复此操作。关闭表格会将其ModalResult
设置为mrCancel
并重新启用父表格。要退出应用程序,您需要按照与创建相反的顺序逐个关闭所有表单。
正确,经过一些搜索和测试后,我发现 - 等待它 - “莫名其妙......”按钮有一个ModalResult mrNo,在第二个对话框关闭后,正确的事情是由窗体类完成的并关闭对话框。 – MX4399 2010-05-12 12:20:11