tee*_*yay 17 wpf keyboard-events
我的WPF应用程序具有由功能键(F1- F12)触发的行为.
我的代码是这样的:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
switch (e.Key)
{
case Key.F1:
...
case Key.F2:
...
}
}
Run Code Online (Sandbox Code Playgroud)
这适用于所有F键,除了F10.调试时,我发现e.Key == Key.System当用户按下时F10.
在枚举定义,F10 = 99并且System = 156,这样我就可以排除它是一个重复的枚举值(像PageDown = Next = 20).
那么,如何判断用户何时按下F10?
Key.System相反,检查是否安全?这感觉有点脏 - 可能是Key.System因为某些其他键被按下而导致的?或者是否有某些设置将F10报告作为Key.F10?
Wil*_*ins 17
除了Yacoder的回复,请使用以下内容检查F10密钥:
case Key.System:
if (e.SystemKey == Key.F10)
{
// logic...
}
Run Code Online (Sandbox Code Playgroud)
该SystemKey属性会告诉你哪个系统键被按下.