如何在 Esc 键上关闭 DevExpress PrintPreview

How to close DevExpress PrintPreview on Esc key

我们正在将报告迁移到 DevExpress。预览工具默认使用 Esc 键关闭打印预览,但使用 DevExpress XtraReport 使用 Alt + F4.

我们想保持用户体验,所以我需要在该查看器表单中稍微处理一个键事件,如果它是 Esc 键调用它的关闭事件。

DevExpress 中的预览工具叫做ReportPrintTool。您可以使用 ReportPrintTool.PreviewForm 属性 或 ReportPrintTool.PreviewRibbonForm 属性 根据您想要的菜单类型(面板或功能区)来获取预览表单。他们俩都是Formclass的后裔。现在,您可以简单地使用 Form.KeyPreview 属性 和 Form.KeyDown 事件来实现结果。
这是示例:

var report = new XtraReport();

var tool = new ReportPrintTool(report);

var form = tool.PreviewRibbonForm;
form.KeyPreview = true;
form.KeyDown += (sender, e) => { if (e.KeyCode == Keys.Escape) form.Close(); };

report.ShowRibbonPreview();