代码之家  ›  专栏  ›  技术社区  ›  HCL

关键操作的消息框确认

  •  1
  • HCL  · 技术社区  · 14 年前

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

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

    其他可能性是 MessageBoxButton.YesNoCancel 但在我看来,这很难理解,因为它只显示了两个操作的三个按钮。或者可以使用 MessageBox.OKCancel 但我不太清楚。在我的对话框中,我想询问用户是否真的想执行操作。因此,简单的OK是不合适的。一 (我想要)比 好啊 (继续)

    你怎么处理这个?它是一个非主题,还是像我一样思考,并且有自己的MessageBox实现,或者您知道扩展 system.windows.消息框 班级?

    1 回复  |  直到 11 年前
        1
  •  3
  •   Charlie    14 年前

    生成自定义消息框(继承自 Window )具有标题/消息和确认按钮文本的占位符。然后,您可以设计一个漂亮的吸引注意力的对话框,它将从用户通常看到的数百个标准“确定/取消”消息框中脱颖而出。例如,您可以使用类似于Windows Vista对话框的较大标题字体,或者包含自定义图像。

    然后,显然可以自己处理转义键,并根据每个对话框定义默认转义行为。