主窗口mainForm
父窗口Form
子窗口Form1流程是这样,mainForm窗口使用showDialog();显示了父窗口,父窗口使用Show();显示了子窗口后,this.Close();问题来了,这时候当前活动窗口成了mainForm.而不是子窗口.
我需要两点,
1,父窗口关闭后当前活动窗口是子窗口.
2,不允许任何人在访问子窗口的时候能切换到主窗口.

解决方案 »

  1.   

    1.执行this.Close()之后mainForm和它的子窗体还会显示?
    2.使用ShowDialog显示子窗体的话,子窗体不关闭就无法切换到主窗体。
      

  2.   


    哦,这个this.Close();是在父窗体执行的,this是指父窗体.
    另外,我现在不能用ShowDialog,因为我要令子窗体显示后再把父窗体关掉.用ShowDialog如果不关闭子窗口是不会执行父窗口的this.Close();
      

  3.   

    父窗体关掉,子窗体也会一起关掉。
    不行的话,用个Hide()把父窗体隐藏起来就是了。
      

  4.   

    子窗体一直是在父窗体上才能显示,如果关了父窗体子窗体就不能显示了
    Form1.show();
    this.Hide();
      

  5.   

    是因为调用this.Close();时不一定马上释放吗?
    我试过了mianForm窗口showDialog出父窗口后,在父窗口的按钮事件里写show出了子窗口跟着就是this.Close();然后显示的时候就是按了后显示子窗口和mainForm窗口.父窗口没有了.
      

  6.   


    就是mainForm窗口里按了个按钮,showDialog出父窗口,在父窗口再按了个按钮就show出一个子窗口,然后这个父窗口的按钮在show子窗口语句后面我还加上了this.Close();
    运行结果嘛,就是只看的到mainForm窗口和子窗口了,如果不加this.Close();时还可以看到父窗口.
      

  7.   

    搞这么多级?在父窗口中,
    this.Hide();
    子窗口.ShowDialog();
      

  8.   


    这倒也是哦~我反思过了已经用在mainForm窗体里放panel控件做了.
    不过我还是想知道嘛,是有方法的哦?