Win32/OSX 中带有 Showmodal 的嵌套表单

Nested forms with Showmodal in Win32/OSX

我有 3 个表格的情况。我从 Form1 打开 Form2,从 Form2

打开 Form3

Form2 显示为 ModalForm,Form3 不是。

当我运行这个项目在Windows时,我可以在Form2Form3之间切换,但我不能去在我关闭 Form2 之前回到 Form1(如预期的那样)。

OSX中,Form3Form2后面打开,在我关闭[=11=之前无法访问(不是预期的) ].

多平台项目通常的设计理念是什么?

如果父窗体是模态窗体,我是否应该始终以与父窗体相同的状态打开子窗体?

我将在从主窗体 (Form1) 打开非模态窗体 (Form3) 的位置进行设置。这样一来,它的出身就毫无疑问了。我将一个方法放入 Form2 中,该方法在创建 Form2 之后从 Form1 初始化,但在它调用 Form2 用于打开 Form3ShowModal 之前].在调用中包含 Form2 需要传递给 Form3.

的任何参数

这种方法消除了 Form1Form2 之间的显式循环引用,并使 Form3 独立于 Form2