现在告诉你原因,如下我用你的代码做的,第一次点击button因为没有“fr2”,他执行了else里面的else代码,将传进来的form设置为子窗体,并显示,这个没错。但第二次点击button的时候因为有了fr2所以他执行else里面的if的代码,就是想让他获得焦点,但为什么没获得呢???因为你是让传进来的form获得焦点,注意传进来的form是新创建的,并不是MdiChildren里面的任何一个,他们并不是同一个对象,你让他获得焦点并不是让MDI里面的窗体获得焦点,甚至你还没show一下它,自然就没有任何效果。
你的代码如下:
Code
当然if(j>0)里面的代码改成如下就可以了,不过效率并不高:
Code
现在把你的代码改成如下,你再看看:
Code