如何让delphi 中子窗体只能启动一次,函数应该怎么写呢?

来源:百度知道 编辑:UC知道 时间:2024/07/03 13:48:13

假设你的子窗体Name为aTestForm,窗体类为TaTestForm
procedure Tofrm1.YourFormCreate();
var tempfrm:TaTestForm;
begin
tempfrm := TaTestForm(FindComponent('aTestForm'));
if not assigned(tempfrm) then tempfrm := TaTestForm.create(self);
tempfrm.show;
tempfrm.WindowState := wsMaximized;
end;

看看下面这个例子。你应该就很清楚了

mAvailableForm: Tform;// 用来记录当前活动窗体

procedure TMainForm.ChangeWorkForm(WorkForm: Tform);//WorkForm:每次要创建的窗体
begin
try
if assigned(mAvailableForm) then FreeAndNil(mAvailableForm);
mAvailableForm := WorkForm;
WorkForm.BorderIcons := [];
WorkForm.BorderStyle := bsNone;
WorkForm.WindowState:=wsMaximized;
WorkForm.Align := alClient;
WorkForm.show;
except
Showmessage('Create operation form error!');
end;
end;

设置一个布尔值啊,如果已经启动过了,就设置为TRUE,当再次启动子窗体的时候,判断布尔值,不就OK了哦

不明白哦,讲清楚点好吗?