德尔福.如何在调用另一个模态形式后关闭模态形式

Avr*_*rob 1 delphi delphi-xe

在MDI应用程序中有一个打开的模态形式A.形式B从形式A显示为模态.如何在调用模态形式B之后关闭模态形式A?

Dav*_*nan 5

模态意味着生命嵌套.当一个模态形式打开另一个模态形式时,第一个形式需要在第二个模态形式的整个生命周期内保留.

因此,您需要做的是显示第二个模态窗体之前关闭第一个模态窗体.从第一个模态形式内部做起来有点棘手,因此最好向主表单寻求帮助.主要形式可以:

  1. 呼吁Free第一个模态表格.
  2. 创建并显示第二个模态表单.

如果第一个模态形式需要从其自己的事件处理程序之一触发它,那么最好的方法是将第一个模式形式排列到主表单.例如用PostMessageTThread.Queue.