在UserControl中禁用Alt + F4

时间:2010-07-23 07:56:43

标签: c# wpf keyboard-shortcuts

我有一些用户控件,我想为最终用户禁用 Alt + F4 oportunity。当我的用户控件显示时,有机会用 Alt + F4 关闭它,然后程序转到方法中的基类:

protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
    //Content = null; // Remove child from logical parent - for reusing purposes
    this.RemoveLogicalChild(Content); //this works faster
    base.OnClosing(e);
    { GC.Collect(); };
}

我必须在这里或其他地方做什么,禁止我的用户控制关闭 Alt + F4

4 个答案:

答案 0 :(得分:7)

答案 1 :(得分:5)

答案 2 :(得分:3)

您可以覆盖OnPreviewkeyDown方法并捕获ALT和F4键。

protected override void OnPreviewKeyDown(System.Windows.Input.KeyEventArgs e)
        {
            if ((Keyboard.IsKeyDown(Key.LeftAlt) || Keyboard.IsKeyDown(Key.RightAlt)) && Keyboard.IsKeyDown(Key.F4))
                e.Handled = true;
        }

答案 3 :(得分:0)

阻止 Alt + F4 的最简单方法是仅阻止 F4 。 因此,当不需要处理 F4 时,不需要阻止 Alt

希望这很有用。