2011-09-14 8 views
1

Winformsテキストボックス中にユーザーがReturnキーを押したときに検出しようとしていますが、Keys.Enterおよび/またはを使用すると、下のコントロールステートメントはどちらも動作しませんKeys.Return。 AltやShiftなどの他のキーを検出すると機能します。私は何が欠けていますか? MacBookのキーボード(Windowsを使用している)でこれをテストしていますが、確かにこれらのキーは100%正しくマップされていますか?Control.ModifierKeysがReturn/Enterキーで起動しない

private void txtInput_KeyUp(object sender, KeyEventArgs e) 
{ 
    if ((Control.ModifierKeys == Keys.Enter)) 
    { 
     btnOK_Click(null, null); 
    } 

    if ((Control.ModifierKeys & Keys.Return) != 0) 
    { 
     btnOK_Click(null, null); 
    } 
} 
+0

は、入力を –

答えて

2

使用してみてください:

e.KeyCode == Keys.Enter 

Control.ModifierKeysキャッチCTRL、ALT、シフトが押された場合にのみ!

あなただけの使用を押されたW/O任意のキーを押す 'と入力し' キャッチ必要がある場合:おかげで、:

e.KeyData == Keys.Enter 
+1

は 'e.KeyCode' –

+0

@adriftでなければなりません...修飾キーではありません編集中に修正されました –

+0

e.KeyDataにする必要があります。修飾子がダウン(Alt + Enter)しているときにこれをしたくないのが普通です。 –

関連する問題