【问题标题】:MessageBox-confirmation for critical operations关键操作的消息框确认
【发布时间】:2010-07-22 22:01:40
【问题描述】:

在我的项目 (WPF) 中,我使用 System.Windows.MessageBox 向用户显示关键操作的确认对话框,例如删除操作。

我的问题是,如果我指定为按钮值MessageBoxButton.YesNo,用户无法使用转义键取消操作。 IMO 这是最烦人的事情之一,一个程序可以做的,显示一个对话框,而不能通过转义键取消/关闭对话框。

其他可能性是MessageBoxButton.YesNoCancel,但 IMO 这很令人困惑,因为它仅显示两个操作的三个按钮。或者可以使用MessageBox.OKCancel,但IMO 不够清楚。在我的对话框中,我想询问用户她是否真的想要执行该操作。为此,简单的 ok 是不合适的。 yes(我想要)比 ok(继续)要好得多。

你如何处理这个问题?它是一个非主题,还是你和我一样认为并且有自己的 MessageBox 实现,或者你知道扩展 System.Windows.MessageBox-class 的可能性吗?

【问题讨论】:

  • 按退出键是“是”还是“否”? :-) 我会使用 Yes/No/Cancel,其中 No 和 Cancel 是一回事。 “不,不删除”和“取消删除”(也通过转义键路由)。

标签: c# wpf vb.net messagebox


【解决方案1】:

制作一个自定义消息框(继承自 Window),其中包含标题/消息和确认按钮文本的占位符。然后,您可以设计一个漂亮的、引人注目的对话框,该对话框将从用户通常看到的数百个标准 OK/Cancel MessageBox 中脱颖而出。例如,您可以使用类似于 Windows Vista 对话框的较大标题字体,或包含自定义图像。

然后,您显然可以自己处理 Escape 键,并在每个对话框的基础上定义默认的 Escape 行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多