当我打开带有选项YesNo的MessageBox时,会显示右上角的(通常)取消交叉但不起作用。
System.Windows.MessageBox.Show("Really, really?", "Are you sure?", MessageBoxButton.YesNo);
如果我提供YesNoCancel作为选项,单击十字架将关闭DialogResult取消对话框。
System.Windows.MessageBox.Show("Really, really?", "Are you sure?", MessageBoxButton.YesNoCancel);
如果没有隐藏,我希望十字架“看起来已禁用”,点击它时无效。 可能我不是第一个观察这个的人。 您最喜欢隐藏/禁用此按钮或解决问题的方法是什么?
注意:我更喜欢不使用System.Windows.Forms的解决方案,因为我正在处理WPF项目,并且如果可能的话,我希望避免使用任何InterOp。
答案 0 :(得分:8)
“关闭”按钮(在MsgBox的标题栏中):由于MsgBox窗口是操作系统的内置功能,因此仅当存在某些按钮时才会启用其X按钮。如果只有一个OK按钮,单击X按钮与按OK键相同。否则,除非有取消按钮,否则X按钮被禁用,在这种情况下,单击X与按取消相同。
http://www.autohotkey.com/docs/commands/MsgBox.htm
它的默认行为!从它的MsgBox到它的MessageBox的时间!
答案 1 :(得分:2)
查看此CodeProject article,其中概述了旋转您自己的MessageBox类。有关于禁用关闭按钮的部分。
答案 2 :(得分:1)
当您在资源管理器中删除文件时(在回收站属性中选中删除确认时),会出现一个消息框并询问"您确定要将这些x项移动到回收站吗?"带有标题"删除确认"和右上角的X.逃生也有效。可用的按钮是"是"和"不"只要。我们怎样才能做到这一点?
要么Microsoft没有遵循他们的指导原则,要么不向开发人员提供此指南。