我有一种情况,我有3个表格。我从Form2
打开Form1
,从Form3
打开Form2
Form2
显示为ModalForm,Form3
不是。
当我在 Windows 中运行此项目时,我可以在Form2
和Form3
之间切换,但在关闭{{1}之前我无法返回Form1
(如预期的那样)。
在 OSX 中,Form2
在Form3
后面打开,在我关闭Form2
之前无法加入(不是预期的)。
多平台项目的通常设计理念是什么?
如果父窗体是模态,我是否应该始终以与父窗体相同的状态打开Childform?
答案 0 :(得分:1)
我将其设置为从主窗体(Form3
)打开非模态窗体(Form1
)的位置。这样,毫无疑问它的亲子关系。我在Form2
创建Form1
之后,但在调用Form2
ShowModal
用来打开Form2
之前,将Form3
初始化的方法放入Form2
}。在Form3
需要传递到Form1
的调用中包含所有参数。
此方法消除了Form2
和Form3
之间的明确循环引用,并使Form2
与sh: rsync: command not found
无关。