2009-03-24 19 views
3

C#:テキストボックスのkeydownイベントで、現在押されている修飾キー+キーをどのように検出しますか?C#:テキストボックスのkeydownイベントでは、現在押されている修飾キー+キーをどのように検出しますか?

私は以下のことをしましたが、これらの演算子にあまり慣れていないので、私が間違っているかどうかわかりません。

private void txtShortcut_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.Modifiers == (Keys.Alt || Keys.Control || Keys.Shift)) 
     { 
      lbLogger.Items.Add(e.Modifiers.ToString() + " + " + 
       "show non-modifier key being pressed here"); 
     } 
    } 

1)eに改行キーが含まれているかどうかを確認するにはどうすればよいですか?

答えて

3

MSDN linkt

private void txtShortcut_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.Alt || e.Control || e.Shift)) 
     { 
      lbLogger.Items.Add(e.ToString() + " + " + 
       "show non-modifier key being pressed here"); 
     } 
    } 
+1

なぜdownvoteによると? – RvdK

2

documentationはビット単位の組み合わせですが、論理ORを行っています。

試してみてください。

if (e.Modifiers & (Keys.Alt | Keys.Control | Keys.Shift)) 
{ 
    lbLogger.Items.Add(e.Modifiers.ToString() + " + " + 
     "show non-modifier key being pressed here"); 
} 

そして、私はあなたがe.KeyCode.ToString(実際のキーを取得することができると思います)。

関連する問題