我想实现这样一个功能。。就是点击一个按钮,然后利用MessageBox.Show弹出对话框。。在对话框未关闭之前,用户不能进行任何操作。。
比如不能切换到其他应用程序,无法最小化,鼠标单击其他窗口不能响应。。如何是好。。

解决方案 »

  1.   

     比如不能切换到其他应用程序
    没看清 sorry
      

  2.   

    MessageBox.Show本身显示的就是模式对话框,不点击程序不会往下走的
      

  3.   

    当然应该用MessageBox.Show(IWin32Window,...)
    IWin32Window将拥有模式对话框
    如MessageBox.Show(this,"OK");
      

  4.   

    先用个和屏幕一样大的窗口把
    屏幕占了再用它弹MessageBox.
      

  5.   

    在Windows98以前,是可以设置一个“系统级”的模态窗口。
    但是,WindowsNT/2000后该功能就不能用了,因为它违背了多任务操作系统的原则。操作系统健壮性实现之一是进程隔离,就是说一个进程停止响应(或崩溃)不应影响到其他进程。
    因此“用户程序”从设计上就不能去阻断其他进程。如果你的意图是身份验证,那么就用操作系统身份验证的方法去做。
    其他情况,建议你不要强迫用户不能进行任何操作。
      

  6.   

    lz.的这个有点难度,但是可以这样啊,用Form.ShowDialog().这样你就必须先关闭这个窗口。
      

  7.   

    恩,上次我做摇奖机的那个程序的时候好像用到那个类似的弹出一个对话框的~就是点击那个关闭选项~当你单击的时候就弹出一个对话框,问你是否真要退出程序,如果不执行对话框,那么其他应用程序就不能执行~楼主,你的需求是这样吧~恩~我没记错的话~我当时用的是MessageBox,show()方法的重载~不过,最好实例分析~你要不用那个工具看看那个重载的方法。那个蛮多的,能找到你要找到的~
      

  8.   

    的确见过如LZ所说的那种模式程序,不过不知道怎么实现 :P
      

  9.   

    用win32的钩子函数,拦截所有的window消息。