0
안녕하세요. 읽고 고맙습니다.WPF Ctrl + N 작동하지 않음
키오스크 스타일의 WPF 응용 프로그램에 웹 브라우저가 내장되어 있으며 사용자가 Ctrl + O 또는 Ctrl + N 키보드 단축키를 사용하여 내가 제한된 페이지를 우회하는 것을 방지하려고합니다. 내가 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;
}
}
}
이벤트 핸들러가 제대로 게재되지만 e.Key은 키가 아닌 Key.Control입니다 :
다음은 응용 프로그램의 최상위 창에 내 코드입니다. 엔. Ctrl 단추를 눌렀을 때 (예상대로) 이벤트가 즉시 트리거되지만 N 키를 캡처하지 못하는 것 같습니다. 나는 Keyboard.IsKeyDown (Key.N)을 사용해 보았는데 false도 반환한다.모든 조언이나 제안을 환영합니다.
감사합니다,
아담
편집 : 나는 또한 브라우저 자체에 NewWindow, NewWindow2 및 NewWindow3 이벤트를 사용하여 새 창을 방지하기 위해 노력했다. 거기도 운이 없다.