我先在主窗体中创建了一个窗体;
application.CreateForm(tfrm_feilvweihu,frm_feilvweihu);
frm_feilvweihu.ShowModal;
然后在此窗体中在创建第二个窗体.在第二个窗体中处理一些数据后,在不关闭第二个窗体的情况下,怎样激活第一个窗体.

解决方案 »

  1.   

    frm_feilvweihu.BringToTop;
    frm_feilvweihu.SetFocus;
      

  2.   

    建议用frm_feilvweihu.Show;
    一定可以的
      

  3.   

    创建第二个窗体不要用ShowModal
    用Show,再用楼上方法的试试
      

  4.   

    不能在主线程中使用ShowModal,否则无法激活第一个窗体,可以使用楼上的办法或在子线程中使用ShowModal
      

  5.   

    application.CreateForm(tfrm_feilvweihu,frm_feilvweihu);
    frm_feilvweihu.Show;
    newForm.showmodal;
    newForm.close就行了。
    newForm showmodal后关闭会自动把showmodal他的窗体显示出来的。
      

  6.   

    to wengj(六月雪) 
      我要是在其他窗体调用frm_feilvweihu时,是不是应先判断frm_feilvweihu是否已创建过,如果不判断的话,直接用
    frm_feilvweihu.BringToTop;
    frm_feilvweihu.SetFocus;
    是不是有可能出错。(如果frm_feilvweihu并没有创建的话);
    应如何判断?
      

  7.   

    if frm_feilvweihu=nil then
      application.CreateForm(tfrm_feilvweihu,frm_feilvweihu);
    这样判断一下
      

  8.   

    这个要看你创建的第二个窗体是用什么方法显示
    1。showmodal 的话建议重新创建frm_feilvweihu
    2。如果用show的话同意楼上意见
      

  9.   

    你是什么意思??第一个窗体ShowModal,二个窗体再要用ShowModal,你别想再激活第一个窗体,用Show,你想怎样激活都行!
      

  10.   

    第一,你可以修改第一和第二个form的formstyle,以让他们分别满足你的要求;
    第二,你可以用form.enable来设定,这样既简单又方便;
    不知道有没有帮助。
      

  11.   

    判断的话你可以用变量来控制,用show吧