YesNo MessageBox在单击x按钮时未关闭

时间:2009-10-09 21:15:34

标签: .net wpf messagebox

当我打开带有选项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。

3 个答案:

答案 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没有遵循他们的指导原则,要么不向开发人员提供此指南。