MessageBox - 确认关键操作

时间:2010-07-22 22:01:40

标签: c# wpf vb.net messagebox

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

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

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

你怎么处理这个?这是一个非主题,还是你像我一样思考并拥有自己的MessageBox实现,或者你知道扩展System.Windows.MessageBox - 类的可能性吗?

1 个答案:

答案 0 :(得分:3)

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

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