您应该确定您的表单是自动创建还是按需创建。您还应该决定哪种形式是主要形式。
角落的问题是您是否可以打开同一个类的多个表单,例如,如果您制作了“文件查看器”表单,那么为不同的文件打开其中的几个表单可能是有意义的。
对于自动创建的表单:
1.1 打开项目源(.dpr 文件,Project/View Source 菜单)或在 Forms 部分打开 Project 选项。将 MenuForm 设置为创建列表中的第一个(最顶部)。
1.2 检查所有其他表格是否有其.visible
属性false
2:根据程序的逻辑,您应该使用 Form1.Show 或 Form1.ShowModal
3:Self.Close 或 Self.Hide 或 Self.Visible := false。更好的第一个:http :
//docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.Close 如果您使用这些表单的 OnClose 事件 - 确保您没有更改关闭的默认 caHide 操作
对于手动生命周期控制形式:
1:打开项目源(.dpr 文件,项目/查看源菜单)或在表单部分打开项目选项。设置 MenuForm 是唯一一个创建的。
2.1。some-temporary-variable := TFormClass.Create(Application);
2.2. 然后你调整一些属性,some-temporary-variable
比如要打开的文件名或一些数据源等等。
2.3. 然后你做some-temporary-variable.Show
or some-temporary-variable.ShowModal
。
注意:使用 ShowModal 可能会冻结您的应用程序,在这种情况下TFormClass.Create(SomeAnotherForm)
,请使用 Application 作为父级。
3:Self.Release http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.Release
或 Self.Close 并caFree
在 OnClose 事件中指定操作 - http://docwiki.embarcadero.com/Libraries /XE2/en/Vcl.Forms.TCustomForm.OnClose