Win32/OSX 中带有 Showmodal 的嵌套表单
Nested forms with Showmodal in Win32/OSX
我有 3 个表格的情况。我从 Form1
打开 Form2
,从 Form2
打开 Form3
Form2
显示为 ModalForm,Form3
不是。
当我运行这个项目在Windows时,我可以在Form2
和Form3
之间切换,但我不能去在我关闭 Form2
之前回到 Form1
(如预期的那样)。
在OSX中,Form3
在Form2
后面打开,在我关闭[=11=之前无法访问(不是预期的) ].
多平台项目通常的设计理念是什么?
如果父窗体是模态窗体,我是否应该始终以与父窗体相同的状态打开子窗体?
我将在从主窗体 (Form1
) 打开非模态窗体 (Form3
) 的位置进行设置。这样一来,它的出身就毫无疑问了。我将一个方法放入 Form2
中,该方法在创建 Form2
之后从 Form1
初始化,但在它调用 Form2
用于打开 Form3
的 ShowModal
之前].在调用中包含 Form2
需要传递给 Form3
.
的任何参数
这种方法消除了 Form1
和 Form2
之间的显式循环引用,并使 Form3
独立于 Form2
。
我有 3 个表格的情况。我从 Form1
打开 Form2
,从 Form2
Form3
Form2
显示为 ModalForm,Form3
不是。
当我运行这个项目在Windows时,我可以在Form2
和Form3
之间切换,但我不能去在我关闭 Form2
之前回到 Form1
(如预期的那样)。
在OSX中,Form3
在Form2
后面打开,在我关闭[=11=之前无法访问(不是预期的) ].
多平台项目通常的设计理念是什么?
如果父窗体是模态窗体,我是否应该始终以与父窗体相同的状态打开子窗体?
我将在从主窗体 (Form1
) 打开非模态窗体 (Form3
) 的位置进行设置。这样一来,它的出身就毫无疑问了。我将一个方法放入 Form2
中,该方法在创建 Form2
之后从 Form1
初始化,但在它调用 Form2
用于打开 Form3
的 ShowModal
之前].在调用中包含 Form2
需要传递给 Form3
.
这种方法消除了 Form1
和 Form2
之间的显式循环引用,并使 Form3
独立于 Form2
。