如何判断一个FORM窗体是否已经打开,比如我有一个FORM1窗体,在FORM1窗体中有一个BUTTON,BUTTON CLICK代码如下:(FORM2为另一个FORM窗体)
procedure TForm1.Buttonclick(sender:TCompent);
begin
 form2 := TForm2.create(self);
 Form2.Caption := 'MyForm';
 Form2.showing;
end;在这个事件中,我的要求是如果打开了标题为MYForm的窗体就不要在重新创建这个标题为myForm窗体.同时激活Myform窗体
如何才能做到。先谢了,最好有代码??????

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var form2:Tform;
    begin
     if form2.Caption<>'MyForm' then
     begin
       form2 := TForm.create(self);
       Form2.Caption := 'MyForm';
       Form2.show;
     endend;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var form2:Tform;
    begin
     if not Assigned(Form2)then
     begin
       form2 := TForm.create(self);
       Form2.Caption := 'MyForm';
     end;
     Form2.show;end;
      

  3.   

    to miky(miky)
    你的这段代码,我这里为什么不行呀!我的DELPHI是7.0,但如果把
    var form2:Tform2放在implementation后就第一次能打开,关闭FORM2后就再也打不开了,放解答
      

  4.   

    for i := 0 to Screen.Formcount - 1 do
        if Screen.Forms[i].Classtype = TForm2 then
        begin
          //已经创建
          Screen.Forms[i].show;
          Screen.Forms[i].Update;
          exit;
        end;
      //没有创建
      form2 := TForm2.create(self);
      Form2.Caption := 'MyForm';
      Form2.show;