如何在WPF / WinForms中仅关闭ESC键上的单个对话框?

时间:2010-04-16 11:43:12

标签: c# wpf winforms esc-key

我有WPF表格。它处理KeyUp事件,如果释放的密钥是Escape,它会自行关闭。

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

当我在子对话框中按Escape时,两个窗口都关闭。我希望在这种情况下只关闭子窗口窗口窗口。

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

2 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:1)

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

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