我目前正在DELPHI 2010中设计一个数据库接口(interface),并且设计了几个表单接口(interface),全部封装在一个Delphi项目结构中。 我首先开始设计一个特定的界面表单,结果,当我运行.exe文件时,首先出现一个不相关的表单,而我希望在加载程序时出现一个菜单表单。我的问题是:
- 如何让我的菜单窗体在运行编译项目的 .exe 时首先打开?
- 我需要使用什么功能来对该菜单上的导航按钮进行编程以打开新表单?
- 我应该在每个表单的“退出”按钮上使用什么功能来单独关闭表单,而不关闭整个程序?
我对 Pascal 有很好的了解,但我对在此平台上编程面向对象的解决方案还很陌生。
最佳答案
您应该确定表单是自动创建还是按需创建。 您还应该决定哪种形式是主要形式。
关键问题是您是否可以打开同一类的多个表单,例如,如果您制作了“文件查看器”表单,则为不同的文件打开其中的多个表单可能是有意义的。
对于自动创建的表单:
1.1 打开项目源(.dpr 文件,“项目/查看源”菜单)或在“表单”部分中打开“项目”选项。将 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
或some-temporary-variable.ShowModal
。
注意:使用 ShowModal 可能会卡住您的应用程序,在类似 TFormClass.Create(SomeAnotherForm)
的情况下,请使用 Application 作为父级。
3:自行发布http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.Release
或 Self.Close 并在 OnClose 事件中指定 caFree
操作 - http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.OnClose
关于delphi - 在同一项目中链接 DELPHI 中的不同表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14256218/