描述的比较详细首先我的项目窗体不是MID模式,有一个主面板(窗体),
点击主面板上的按钮会弹出子窗体,所有窗体中,只能主面板在任务栏中有窗体图标,
其他的所有子窗体在任务栏不能显示任务图标这个问题怎么弄?我把子窗体设置了ShowInTaskbar =false,这样任务栏就不显示子窗体图标了,
当点击最小化后,窗体后缩小显示在屏幕左下方(任务栏上面),呈现一个很小的方框,这个效果是我要的
但是存在一个问题:有时候子窗体显示后却看不到子窗体,原来是子窗体显示在另一个子窗体的后面去了,
这个怎么解决?就是新弹出的子窗体在所有子窗体前面。我继续设置TopMost=true,窗体就显示在所有子窗体的前面了,问题又来了
但我把主面板缩小后,弹出的所有子窗体都不跟随缩下去,还是显示在屏幕前,
而且我点击其他已经打开的的东东,比如word、数据库,IE,虽然这些都被激活了,
但是这些东东都在子窗体后面,看不到了。怎么办啊?

解决方案 »

  1.   

    窗口有个方法 .Active()
    使之成为当前窗体
      

  2.   


    你虽然不用MDI,但是可以很简单的模拟MDI的部分功能,
    所有子窗口都是主窗口弹出的,那么主窗口就可以记忆所有的子窗口,
    定义一个链表保存所有的子窗体,这样就可以很好的控制他们了。
    当主窗口缩小时候,让所有的子窗口也缩小,当主窗口恢复的时候,让所有的子窗口也恢复。
    你还可以在主窗口界面上添加子窗口列表,供用户选择,就像MDI提供的“窗口”菜单那样。
    另外在每个子窗口的关闭中药通知主窗口子窗口已经关闭了。
      

  3.   

    主窗体的 Deactivate事件发生, 将所有窗体的TopMost 置为 fasle.
    主窗体的 Activated事件发生后,再将所有窗体的TopMost 置为 true.
      

  4.   

    子窗体并不是所有都是直接从主窗体弹出的,也有许多子窗体是从其他子窗体弹出的。
    比如
    main->child1
    main->child2
    ````````````child2->child4
    ````````````child2->child5
    `````````````````````````child4->child6
    main->child3
    ````````````child3->child7
      

  5.   

    恢复窗体的时候有个窗体置前的属性
    不要用哪个topmost