当前位置:编程学习 > C#/ASP.NET >>

C#中如何使MessageBox.Show弹出来的窗口右上角的关闭叉叉变成不能操作的状态啊

如题! --------------------编程问答-------------------- 自己做一个MessageBox,然后设置窗体的Enabled为False --------------------编程问答-------------------- 不知道是否有能相关api可以处理这个东西,不过觉得自己画个窗口当messagebox用也可以. --------------------编程问答-------------------- api,会更麻烦的。
因为MessageBox是模态窗体,阻塞当前线程的,你要用api,就要调用吧。调用就要多线程,查找窗体,然后用EnableWindow来吧MessageBox设置为不可用。右上角的叉也就不可用了。还有个办法,给纯c++例子了

GetSystemMenu()
然后找到Close,吧这个菜单从系统菜单中移除掉也可以禁止关闭,但这都是基于另开个线程来监视了。麻烦的很。 --------------------编程问答-------------------- 自己写模式对话框
http://www.codeproject.com/KB/dialog/MessageBoxManager.aspx --------------------编程问答-------------------- 没找到,自己写一个吧,用Form自己写一个吧,把Closing事件里的e.Cancel=false --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 还是自己设计一个MessageBox比较方便一点 --------------------编程问答-------------------- 自定义一个消息框:参考实现:


How to extend the native MessageBox dialog in .NET
--------------------编程问答-------------------- 楼上的强大 --------------------编程问答-------------------- 确实强大 --------------------编程问答-------------------- 用重写的方式,把messageBox重写 改掉其中框 --------------------编程问答--------------------
直接自己写个,等想到都写完了。。。。 --------------------编程问答-------------------- 嗯  学习啦! --------------------编程问答-------------------- 写个MessageBox,然后设置Enabled为False --------------------编程问答--------------------
   名称 说明 
 Show(String) 显示具有指定文本的消息框。 
 Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, HelpNavigator, Object) 使用指定的帮助文件、HelpNavigator 和帮助主题显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。 
 Show(String, String) 显示具有指定文本和标题的消息框。 
 Show(IWin32Window, String) 在指定对象的前面显示具有指定文本的消息框。 
 Show(String, String, MessageBoxButtons) 显示具有指定文本、标题和按钮的消息框。 
 Show(IWin32Window, String, String) 在指定对象的前面显示具有指定文本和标题的消息框。 
 Show(String, String, MessageBoxButtons, MessageBoxIcon) 显示具有指定文本、标题、按钮和图标的消息框。 
 Show(IWin32Window, String, String, MessageBoxButtons) 在指定对象的前面显示具有指定文本、标题和按钮的消息框。 
 Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton) 显示具有指定文本、标题、按钮、图标和默认按钮的消息框。 
 Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon) 在指定对象的前面显示具有指定文本、标题、按钮和图标的消息框。 
 Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions) 显示具有指定文本、标题、按钮、图标、默认按钮和选项的消息框。 
 Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton) 在指定对象的前面显示具有指定文本、标题、按钮、图标和默认按钮的消息框。 
 Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, Boolean) 显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。 
 Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String) 使用指定的帮助文件显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。 
 Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions) 在指定对象的前面显示具有指定文本、标题、按钮、图标、默认按钮和选项的消息框。 
 Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, String) 使用指定的帮助文件和帮助关键字显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。 
 Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, HelpNavigator) 使用指定的帮助文件和 HelpNavigator 显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。 
 Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String) 使用指定的帮助文件显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。 
 Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, HelpNavigator, Object) 使用指定的帮助文件、HelpNavigator 和帮助主题显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。 
 Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, String) 使用指定的帮助文件和帮助关键字显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。 
 Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, HelpNavigator) 使用指定的帮助文件和 HelpNavigator 显示一个具有指定文本、标题、按钮、图标、默认按钮、选项和“帮助”按钮的消息框。 


这个是system.windows.forms
的,和system.windows 结构的有些不同.
如何找不到合适的话,自定义一个form表单,重写一个而已. --------------------编程问答-------------------- 这个类不是密封的,可以用继承的方式来实现自己想要的信息显示框.
--------------------编程问答-------------------- 看看MSDN的messagebox吧 --------------------编程问答-------------------- 顶一个! --------------------编程问答--------------------
引用 9 楼 computerfox 的回复:
自定义一个消息框:参考实现:


How to extend the native MessageBox dialog in .NET


打印机测试? --------------------编程问答--------------------
引用 9 楼 computerfox 的回复:
自定义一个消息框:参考实现:


How to extend the native MessageBox dialog in .NET


这个不错~ --------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答--------------------
引用 16 楼 poloyzhang 的回复:
C# code
   名称 说明 
 Show(String) 显示具有指定文本的消息框。 
 Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, HelpNavigator, Object) 使用指定……

楼上很全面啊 --------------------编程问答-------------------- 如果利用 API 找到那个系统的 messageBox 句柄,然后在子类化
然后才可以去掉,那个 x 然后还要写代码拦截掉 alt+f4 我以前用VC 时写过流程就是这样

不过难度远大于你自己做一个; --------------------编程问答-------------------- 楼上好强大呀..学习ing
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,