现在是在一个窗口A上面showdialog()显示一个模式窗口B,然后在这个窗口上再需要显示一个模式窗口C,我同样是用的showdialog(),但问题就是:最后出来的窗口C效果并不像是一个模式窗口,也即并非要关闭这个窗口才能控制其父窗口B所以,如何才能显示正确的模式窗口呢。。我也试了showdialog()中带父窗口句柄的写法,这样的窗口C弹出后就“无法响应”了求教

解决方案 »

  1.   

    汗。。
    我现在估计是因为我把弹窗写在了一个通信线程中???(但是如果简单的用MessageBox.Show()是能有“模式”的效果的)  
      

  2.   


    更正下,MessageBox.Show()也是非模式的,需要加上owner才是模式的;但是我在form的showdialog中加owner窗口假死了,郁闷
      

  3.   

    是C/S的!!你有没有把B窗口设成父窗口啊?我没有试过,感觉如果设成了的话,那就应该不能这样吧!
      

  4.   

    WindowWrapper wm = new WindowWrapper(pro[0].MainWindowHandle);
    Form fem = new Form("xx");
    fem.ShowDialog( wm );这样的倒是有模式的效果了,但是这个窗口不见了,父窗口当然也无法操作wm这个句柄是没错的,到底会是什么问题呢。。
      

  5.   

    显示C的时候  用show 就行了 - -  ShowDialog 本来父窗体就无法操作啊- -  
      

  6.   

    我就是showdialog(),可以显示多层的