单击Main窗体上的按钮,show出Sub窗体,如果使用:
Sub.show();
那么单击Main窗体的时候,Main会把Sub盖住。如果使用:
Sub.ShowDialog();
那么Sub会盖住Main,而且不能单击Main。问题是有什么方法能把两者结合。单击Main上按钮,后弹出Sub窗体,Sub窗体在上层,既能操作Main窗体上的控件,又不会把Sub窗体盖住????

解决方案 »

  1.   

    哦,我知道了,你需要了解更多关于窗口的知识。
    可能Main你要设置Parent Framewindow什么的,而Sub是他的子窗口,而且不能以ShowDialog的方式显示。
      

  2.   

    把主窗体设置为MId窗体,然后把子窗体的父窗体设置成主窗体,再Show一下就好了,希望对你有帮助。
      

  3.   

    将父窗体设置为MDI容器就可以了,你试试看。。
      

  4.   

    把主窗体设置为MId窗体,属性IsMdiContainer为true然后子窗口创建为
                Form2 FormDataListn = new Form2 (this);
                FormDataListn.Show();子窗口构造函数
            public Form2(Form1 parent)
            {
                InitializeComponent();
                
                this.MdiParent = parent;
            }
      

  5.   

    对,MId可以解决。我的情况还有点特殊。应为主窗体上还有空间,这些空间还是把子窗体挡住了。
      

  6.   

    呵呵,哎,关键是主窗体有个空间是平铺背景,是个地图,哎。这样show出来的子窗体,都在这个地图后面。晕死了。
      

  7.   

    你的那个地图平铺整个主窗体了么?那是不是一个picturebox?子窗体弹出时调整一下位置就行了 主窗体的那个控件最好能用一个菜单让她隐藏最好。你也可以学学splitter控件
      

  8.   

    地图是个webBrowser1控件显示的一个静态页面。
    我就想让弹出的窗体选在这个webBrowser1上面,然后窗体设成半透明,可以一起看,还能操作后面的webBrowser1控件。
      

  9.   

    Sub.TopMost = true; 定这个
      

  10.   

    TopMost 
    然后在把焦点切回去。ComboBox类控件就是这么做的。
      

  11.   


    非常感谢。就要这个效果,不用MDI。十分感谢。