programing

WPF에서 Ctrl + Tab과 Ctrl + Shift + Tab을 캡처하는 방법

newstyles 2023. 4. 14. 21:23

WPF에서 Ctrl + Tab과 Ctrl + Shift + Tab을 캡처하는 방법

WPF 어플리케이션의 +와 ++ShiftTabTab트랩하는 샘플코드는 무엇입니까?

델은KeyDown이벤트와 입력 제스처를 사용한 명령어바인딩을 추가하려고 했지만 이 두 숏컷을 트랩할 수 없었습니다.

어떤 키다운 핸들러를 사용했습니까?아래 코드가 도움이 됩니다.문제가 되는 것은 다음과 같습니다.+ 하지만 당신은 그것을 요구하지 않았습니다.d

public Window1()
{
   InitializeComponent();
   AddHandler(Keyboard.KeyDownEvent, (KeyEventHandler)HandleKeyDownEvent);
}

private void HandleKeyDownEvent(object sender, KeyEventArgs e)
{
   if (e.Key == Key.Tab && (Keyboard.Modifiers & (ModifierKeys.Control | ModifierKeys.Shift)) == (ModifierKeys.Control | ModifierKeys.Shift))
   {
      MessageBox.Show("CTRL + SHIFT + TAB trapped");
   }

   if (e.Key == Key.Tab && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
   {
      MessageBox.Show("CTRL + TAB trapped");
   }
}

구스타보의 대답이 바로 내가 찾던 거였어입력 키의 유효성을 검사하고 싶지만 붙여넣기는 허용됩니다.

protected override void OnPreviewKeyDown(KeyEventArgs e)
{
   if ((e.Key == Key.V || e.Key == Key.X || e.Key == Key.C) && Keyboard.IsKeyDown(Key.LeftCtrl))
      return;
}

이벤트를 사용해야 합니다.KeyDown...

Szymon Rozga의 작업 버전 답변(죄송합니다. 코멘트는 드릴 수 없습니다.)Alt는 참조하지 않습니다만, 처음에 간단하게 어카운팅을 추가할 수 있습니다.

  public View()
  {
     InitializeComponent();
     AddHandler(Keyboard.PreviewKeyDownEvent, (KeyEventHandler)controlKeyDownEvent);
  }

  private void controlKeyDownEvent(object sender, KeyEventArgs e)
  {
     if (e.Key == Key.Tab && Keyboard.Modifiers.HasFlag(ModifierKeys.Control))
     {
        if (Keyboard.Modifiers.HasFlag(ModifierKeys.Shift))
           MessageBox.Show("CTRL + SHIFT + TAB trapped");
        else
           MessageBox.Show("CTRL + TAB trapped");
     }
  }

안녕하세요, 키다운 이벤트에서 사용할 수 있습니다.

 private void OnButtonKeyDown(object sender, KeyEventArgs e)
    {
        if(Keyboard.IsKeyDown(Key.LeftCtrl) && Keyboard.IsKeyDown(Key.Tab) && Keyboard.IsKeyDown(Key.LeftShift))
        {
           //
           // TODO: somthing here
           //
        }
    }

언급URL : https://stackoverflow.com/questions/813389/how-to-capture-ctrl-tab-and-ctrl-shift-tab-in-wpf