新建项目,创建3个窗体:form1,form2,form2.  form1为启动项
form1和form3的showintaskbar属性都设为false
在form1里加个按纽控件:button1,在form2里加个按纽控件button2;
button1_click方法:new form2().show();
button2_click方法:new form3().show();运行的结果:
点击button1弹出form2,这个时候是form2在form1的上面,也就是form2挡住form1,当点击form2里的button2弹出form3的时候,奇怪的现象出现:form1竟然跑到form2的上面挡住form2,而且,每当form3获得焦点,form1就一定在form2的上面.这个是何原因?

解决方案 »

  1.   

    刚实验完,没LZ说的现象
    vs2005
      

  2.   

    没试过,会不会是new form3().show()后,系统默认,自动把form2置于底层?
      

  3.   

    不是ShowInTaskbar的窗体,都会自动上浮的,这好像是Windows的设计,别的应用程序也会这样。因为不是ShowInTaskbar的话Windows就认为这是一个当前正待处理的对话框。
      

  4.   

    cat_hsfz说的可能是对的,但是在.net2005中做了个例子,是不存在该问题,那也就是说可以通过编程解决该问题,不知道高手们能否帮忙解决一下
      

  5.   

    kui1015,能否把你的测试程序发给我看看?QQ43950411
      

  6.   

    因为你的 Form2 是又Form1 弹出来的!
      

  7.   

    怎么那么多高手都认为我这个问题不是BUG?
      

  8.   

    在form2的显示后加多new form2().focus();
    试试看
      

  9.   

    其实问题是:我从form2调用form3,为何form1跑到前面.这个是什么机制?把from1\form3任何一个窗体的showintastbar属性设置为true的时候就正常了.
      

  10.   

    我试验过了,没有这种情况,我的开发环境是VS2005 .NetFramework2.0
      

  11.   

    把form2和FORM3都设置为总显示在最前
      

  12.   

    同意楼上的,这个应该不是BUG问题是FORM属性设置问题
      

  13.   

    这也算是BUG吗,我狂吐,,,还嫌window的BUG不够多吗???????我晕
    这要是BUG的话,那我现就给我表演一个更变态的BUG---看着啊,不许笑
    wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
      

  14.   

    用new Form2().Show(form1);
    new Form3().Show(form2);
    不就可以了吗, 如果不指定父Form,会默认Top parent Form
      

  15.   

    你用form2.showDialog(this);
    form3.showDialong(this);试试
      

  16.   

    指定窗口的所有者,窗口的Owner属性。
    这样就可以了
    比如指定form2的所有者为form1,指定form3的所有者为form2。═══════════════════
     免费的源码、工具网站,欢迎大家访问!
     http://www.j2soft.cn/
    ═══════════════════
      

  17.   

    新建项目,创建3个窗体:form1,form2,form2.  form1为启动项
    form1和form3的showintaskbar属性都设为false
    ============================================================
    为什么可form1和form3的showintaskbar属性设为false,如果是form2和form3的属性设为false则不会有LZ所说的问题。另外这个问题好像也不是什么大不了的问题。另外:LZ起的题目太嚣张!我还以为是绝世高手的好贴,进来一看很失望!