gpt4 book ai didi

delphi - Delphi表单启动时怎么做

转载 作者:行者123 更新时间:2023-12-03 19:35:55 25 4
gpt4 key购买 nike

我有一个表单,我想在完整表单打开之前显示一个文件打开对话框。

我已经发现我不能在 FormShow 中做与 UI 相关的事情,但似乎我可以在 FormActivate 中(我保护它不会被第二次调用......)

但是,如果用户取消文件打开对话框,我想关闭表单而不继续。

但是,在激活事件处理程序中关闭的表单会生成一个错误,我无法更改表单的可见性。

那么在表单启动期间如何进行一些与 UI 相关的操作,然后可能会中止表单(或者我是否试图将一个函数填充到应该是另一种表单的表单中?)

TIA

最佳答案

最好(我认为)在创建和显示表单之前显示文件打开对话框。如果你想把所有代码放在一起,你可以添加一个公共(public)类过程 OpenForm() 或其他东西:

class procedure TForm1.OpenForm( ... );
var
O: TOpenDialog;
F: TForm1;
begin
O := TOpenDialog.Create();
try
// set O properties.
if not O.Execute then Exit
F := TForm1.Create( nil );
try
F.Filename := O.FIlename;
F.ShowModal();
finally
F.Free();
end;
finally
O.Free();
end;
end;

关于delphi - Delphi表单启动时怎么做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2075839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com