4

当我打开带有选项 YesNo 的 MessageBox 时,右上角的(通常)取消十字会显示但没有效果。

System.Windows.MessageBox.Show("Really, really?", "Are you sure?", MessageBoxButton.YesNo);

如果我提供 YesNoCancel 作为选项,单击叉号会关闭带有 DialogResult Cancel 的对话框。

System.Windows.MessageBox.Show("Really, really?", "Are you sure?", MessageBoxButton.YesNoCancel);

如果根本没有隐藏,我本来希望十字架“看起来被禁用”,点击它没有效果。可能我不是第一个观察到这一点的人。您最喜欢隐藏/禁用此按钮或解决问题的方法是什么?

注意:我更喜欢不使用 System.Windows.Forms 的解决方案,因为我正在处理 WPF 项目并且希望尽可能避免任何 InterOp。

4

3 回答 3

11

关闭按钮(在 MsgBox 的标题栏中):由于 MsgBox 窗口是操作系统的内置功能,因此它的 X 按钮仅在某些按钮存在时才启用。如果只有 OK 按钮,单击 X 按钮与按 OK 相同。否则,除非有取消按钮,否则 X 按钮将被禁用,在这种情况下,单击 X 与按下取消按钮相同。

http://www.autohotkey.com/docs/commands/MsgBox.htm

它的默认行为!从它是 MsgBox 到它的 MessageBox!

于 2010-03-30T08:59:57.340 回答
3

当您在资源管理器中删除文件时(在回收站属性中选中删除确认时),会出现一个消息框并询问“您确定要将这些 x 项移动到回收站吗?” 带有标题“删除确认”和右上角的 X。逃脱也有效。可用的按钮只有“是”和“否”。我们怎样才能做到这一点?

要么微软没有遵循他们的指导方针,要么没有为开发人员提供这些指导。

于 2015-07-09T07:48:39.773 回答
2

查看这篇CodeProject 文章,其中概述了如何旋转您自己的 MessageBox 类。有一个关于禁用关闭按钮的部分。

于 2009-10-09T21:53:19.873 回答