我现在有一窗体Form1
Form1中有一菜单,从菜单中选中一个窗体Form2问:如何让Form2在Form1中打开显示,DELPHI中没有做过,只能让他只接打开,请知道人士帮忙,谢谢

解决方案 »

  1.   

    1.将Form2的unt单元在Form1的uses引用(加上)
    2.在按钮事件里写
      with TForm2.Create(nil) do
      try
        //此处可以Form2窗体上的控件赋值
        bOk:=ShowModal=mrOk;
        //此处刷新
      finally
        Free;
      end;
      

  2.   

    把你调用窗体的代码放到菜单的onclick事件中不就行了
      

  3.   

    打开Form2是很简单,就是怎么让它不弹出新窗口,而只接让Form2在Form1里打开
    在C#里很好做,刚做一下这个还不顺手,帮个忙,呵呵,谢谢了
      

  4.   

    设置FORM1的FORMSTYLE属性为fsMDIForm;FORM2为fsMDIChild.不知道LZ是不是这样的意思
      

  5.   

    方法有多种
    MDI、Dock啊什么的
    :)
      

  6.   

    按照  xiaotao2004(郁闷中...) 的方法一试
    结果报如下错误,是怎么回事:Cannot create form. No MDI forms are currently active
      

  7.   

    设置FORM1的FORMSTYLE属性为fsMDIForm;FORM2为fsMDIChild;
    但是FORM2不能让其自动创建,在菜单的onclick事件中手动创建才行,代码如下:
    菜单的onclick事件中这样写:
    Application.CreateForm(TForm2, Form2);还要改一个地方,在delphi的project菜单的Options里,把左边的FORM2放到右边,就不自动创建了
      

  8.   

    你要是想Form2在Form1上面打开
    把Form2窗体属性的formStype设置成fsStayOnTop 或者用MDI方式
    将主窗体Form1窗体属性设置成fsMDIForm 把要弹出的窗体属性设置成fsMDIChild 这样 然后在ShowModal
      

  9.   

    请问gsli(笨脑瓜儿)你的这句话是怎么理解:在delphi的project菜单的Options里,把左边的FORM2放到右边还是不行?
      

  10.   

    就是不让FORM2自动创建啊!这是MDI方式,主窗体的FORMSTYLE属性设置为fsMDIForm,子窗体为fsMDIChild,你这里FORM2是子窗体,FORM1是主窗体,也可以叫父窗体。你可以在网上搜一下MDI方法~~~~
    菜单的onclick事件中这样写:
    Application.CreateForm(TForm2, Form2);
    Form2.show;
      

  11.   

    不用MDI方式的话,就用Frame,Frame可以嵌入到Form中,而且可以嵌套。
      

  12.   

    我晕老报同样的错误
    Cannot create form. No MDI forms are currently active没有人遇到同样的错误吗,各位老塞门帮个忙呀