我想捕获在应用程序启动期间是否按下了修改键(以确定全屏或窗口化)。
在主窗口构造函数中,我尝试检查键盘.修饰符 http://msdn.microsoft.com/en-us/library/system.windows.input.keyboard.modifiers.aspx枚举以查看 Shift 是否按下。它总是显示“无”。
所以我尝试了一种不同的方法调度定时器 http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchertimer.aspx并检查其 Tick 事件中的变化。这似乎运作良好。
问题是,这是最好的(唯一的)方法吗?为什么修饰符在窗口构造函数中没有返回正确的值?
Keyboard.Modifiers
是要使用的正确类/属性。
我建议检查处理程序中的修饰符FrameworkElement.Loaded
event.
In the Window
之后的构造函数InitializeComponent()
:
this.Loaded += new RoutedEventHandler(Window_Loaded);
And:
void Window_Loaded(object sender, RoutedEventArgs e)
{
// Examine Keyboard.Modifiers and set fullscreen/windowed
if ((Keyboard.Modifiers & ModifierKeys.Shift) > 0)
{
//SetFullscreen();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)