【问题标题】:How to close only single dialog on ESC key in WPF/WinForms?如何在 WPF/WinForms 中仅关闭 ESC 键上的单个对话框?
【发布时间】:2010-04-16 11:43:11
【问题描述】:

我有一个 WPF 表单。它处理KeyUp 事件,如果释放的键是Escape,它会自行关闭。

此表单还有一个按钮,可将某些 Windows 表单显示为对话框。它确实以相同的方式处理 Escape 键。

发生的情况是,当我在子对话框中按 Escape 时,两个窗口都会关闭。在这种情况下,我希望只有子 Windows 窗体窗口会关闭。

处理这个问题的正确方法是什么?

【问题讨论】:

    标签: c# wpf winforms esc-key


    【解决方案1】:

    WPF 最简单的选项是将按钮属性IsCancel 设置为true。然后,如果您按ESC,表单将被关闭。

    【讨论】:

      【解决方案2】:

      尝试将 KeyUp 事件的处理属性设置为 true:

      private void myDialogForm_KeyUp(object sender, KeyEventArgs e)
      {
          e.Handled = true;
      }
      

      【讨论】:

        猜你喜欢
        • 2020-05-05
        • 1970-01-01
        • 2010-10-13
        • 1970-01-01
        • 2011-05-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多