子窗体1. 属性:formstyle>fsMDIChind.  Aign>alNone. windowState>wsMaximized.
   右击子窗体1中dbGrid弹出快捷菜单单击子菜单弹出窗体2.
代码:
    if Fr2 = nil then
    begin
        Fr2 := Fr2 .Create(Self);
        Fr2 .Show;
    end;   窗体2 .  属性:formstyle>fsMDIChind (或者formstyle>fsNormal ).  Aign>alNone. windowState>wsNormal.
 
问题:
当我鼠标窗体2外别的地方时,窗体2消失.此时再右击单击子菜单则弹不出窗体2, 怎么再次再次调出窗体2?
窗体2只有半个屏幕大小.

解决方案 »

  1.   

    此时再右击单击子菜单则弹不出窗体2
    ---------------------
    if Fr2 = nil then
    begin
      Fr2 := Fr2.Create(self);
            //这里应该楼主抄错了 => Fr2 := TFr2.Create(self);
      Fr2.Show;
    end;
    --
    因为当第二次调用时 Fr2已创建 Fr2 = nil 为 False 所以不显示,====>if Fr2 = nil then
      Fr2 := TFr2.Create(self);Fr2.Show;楼主试试
      

  2.   

    窗体2不是消失,创建不出来,是跑倒你当前窗口的后面了if not Assigned(Fr2) then
    begin
      fr2:=Tfr2.create(self);
      fr2.show;
    end
    else  fr2.BringToFront;
      

  3.   

    if fr2 = Nil then fr2 := Tfr2.Create(Application);
    fr2.Show;
      

  4.   

    如何固定FR2 只有等fr2操作完成后其它地方才可以获得焦点?
      

  5.   

    if not assigned(abc) then
    application.creatfrom(Tabc,abc);
    abc.show