如果只要有一个窗口 ShowDialog 或者 MessageBox.Show ,执行过程将会被中断。然而之前在任务栏已打开的窗口,将无法使用,请问这该如何处理。。
我尝试过QQ,他们都解决了这个问题。首先打开一个聊天对话框,接着删除一个联系人,系统提示是否删除。此时激活已打开的聊天框依然可以正常使用。。请高手解答!

解决方案 »

  1.   

    用show,然后把弹出的窗体 TopMost 设置为True
      

  2.   

    +1
    看来楼主并没有搞清楚showdialog的关键点.
    他的关键点是必须返回,才能操作其他控件,而并非"在最顶上".
    qq的实现只不过没有用showdialog而已.
      

  3.   

    非模态的,改为show,楼主说道QQ的 你仔细看看,QQ自定义多少控件,这个对话框我刚刚好写个,弹出对话框不一定都是你描述的那种模态的,
      

  4.   

    LZ,模块对话框当然会阻塞其他的窗体,只能用show的方式,问题出来了:一闪就没有了!问题处在可能:
    1、用的是临时变量,超出作用域,自然就析构了。
    2、窗体没有设置TopMost ,被别的顶层窗体盖住了。解决办法:
     1、   把你要显示的窗体临时成父级(一般是主框架窗体)的成员变量,并初始化,
    在要显示的地方:设置TopMost =true,然后show。2、用多线程,你的窗体也可以showDialog。