我在主窗体中调用了其他的form,并且将form的parent设置成主窗体的一个panel,但是打开后,form中的edit和combobox的焦点都失去了,重新设置焦点都不行,请问怎么解决呢?

解决方案 »

  1.   

    将Form的BorderStyle设置为bsNone就OK了
      

  2.   

    "并且将form的parent设置成主窗体的一个panel"
    你这样做是什么意思?
      

  3.   

    将Form的BorderStyle设置为bsNone,这样做不可以,我刚才试了。将form的parent设置成主窗体的一个panel,是想用主窗体来管理新form,这样做窗体切换比较方便。
      

  4.   

    呵呵,你是自找麻烦啊,
    你想用主窗体来管理新form,只要在新form的create时,给传一个application参数就可以了
      

  5.   

    form在create时传一个owner参数,不要瞎捣鼓它的parent属性
      

  6.   

    1。建议用frame
    2。利用窗体停靠。让form停靠在panel上
    3。指定parent没什么关系,只要理解owner 与parent的意思
      

  7.   

    具体实现:
    1.添加一个frame 然后利用frames控件[ok].
    2.form2.Dock(form1,Panel1.BoundsRect);
      form2.Show;
      

  8.   

    我的程序就是从frame转到form上的,因为在释放frame时,处理上很难控制。因为我们的系统需要很多frame,刚开始我使用动态创建frame,并将frame显示在pagecontrol的一页中,在关闭frame时,我希望将frame和tabsheet一起释放掉,但实现起来很难,所以就改用了form。那我用 F1OnEverest(天问) 的方法试试。
    谢谢大家了!