C#中WPF响应键盘事件

WPF中的键盘事件用法如下:

  1. 在需要监听键盘事件的界面XAML中注册键盘按下的事件KeyDown=”LoginWindow_KeyDown”。

  <Window x:Class="WpfAcef.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        Title="MainWindow" Height="350" Width="525"
        KeyDown="MainWindows_Keydown">

    <Grid x:Name="ContentGrid">
        
    </Grid>

</Window>

2、后台代码处理对不同键盘的响应:

private void MainWindows_Keydown(object sender, KeyEventArgs e)
        {

            //判断用户的按键是否为Alt+F4
            if (e.KeyStates == Keyboard.GetKeyStates(Key.F4) && Keyboard.Modifiers == ModifierKeys.Alt)
            {
                e.Handled = true;
                MessageBox.Show("请输入解锁密码!");
            }
            
        }

需要注意的是参数时System.Windows.Input.KeyEventArgs 而不是System.Windows.Forms.KeyEventArgs!

猜你喜欢

转载自blog.csdn.net/sclibingqing/article/details/81122665