0
你好,感謝您的閱讀。WPF Catch Ctrl + N不工作
我在Kiosk風格的WPF應用程序中嵌入WebBrowser,我試圖阻止用戶能夠使用Ctrl + O或Ctrl + N鍵盤快捷鍵繞過我限制它們的頁面。
這裏是我的代碼是在應用程序的最上面的窗口:
// This is in the constructor of the window under InitializeComponent();
AddHandler(Keyboard.PreviewKeyDownEvent, (System.Windows.Input.KeyEventHandler)HandleKeyDownEvent);
private void HandleKeyDownEvent(object sender, System.Windows.Input.KeyEventArgs e)
{
Key key = (e.Key == Key.System) ? e.SystemKey : e.Key;
if(e.KeyboardDevice.Modifiers == ModifierKeys.Control)
{
switch(key)
{
case Key.N:
case Key.O:
case Key.P:
MessageBox.Show("BOOM");
break;
}
}
}
事件處理是否正確觸發,當我按下Ctrl + N,但e.Key是Key.Control不是重點。 N.當按下Ctrl按鈕時(如預期的那樣),看起來該事件立即觸發,但未能捕捉到N鍵。我曾嘗試使用Keyboard.IsKeyDown(Key.N),並返回false。
歡迎任何意見或建議。
感謝,
亞當
編輯:我也試圖避免在使用瀏覽器本身的NewWindow,NewWindow2和NewWindow3事件的新窗口。那裏也沒有運氣。