我有一堆表单,我想自动化它们,让它们可以自己打开和关闭。
我知道如何让它们打开(通过设置OnActivate函数),但是我无法关闭它们。
例如,我有:
procedure TProgressForm.FormActivate(Sender: TObject);
begin
inherited;
if FModItem.IsInQueue then
begin
RunBtnClick(Self);
ModalResult := mrOK;
end;
end;
我想在运行函数后关闭窗口,这就是ModalResult应该完成的功能。
(我还尝试将ModalResult语句添加到RunBtnClick过程的最后,但也没有起作用)
我是这样创建窗体的:
ProgForm := TProgressForm.Create(Self, FModItem);
Self.Visible := False;
try
if ProgForm.ShowModal = mrOK then
begin
Left := ProgForm.Left;
Top := ProgForm.Top;
end;
我已经能够通过在对象检查器中将模态结果添加到mrOK来创建关闭表单的按钮,但我似乎无法明确地执行它。
有人能看出为什么它不起作用吗?
谢谢
OnActivate
事件处理程序来“打开 [一个表单]”的吗? - Andreas Rejbrand