2016-07-29 5 views
1

ユーザーがEnterキーを押すと、入力キーがヒットしたというメッセージが表示されます。それ以外の場合は、通常の方法でテキストボックスに入力します。Enterキーを押した場合 - メッセージを表示します。それ以外の場合は通常通り

private void enterCheck(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter)  
     { 
       MessageBox.Show("Enter Was Clicked"); 
     } 
    } 

Enterを押すと、メッセージが正しく表示されます。しかし、文章を入力しようとすると、テキストボックスに何も表示されません。私がタイプされたすべての文字を示すメッセージボックスをしたくないしかし

これは...

private void enterCheck(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter)  
     { 
       MessageBox.Show("Enter Was Clicked"); 
     } 
     else 
     { 
       MessageBox.Show(e.KeyCode.ToString()); 
     } 
    } 

に動作します。

+1

「else」ブロック全体を取り除くだけです。 – itsme86

+0

@ itsme86それをやってみたところ、同じことが起こったのです – Michael

+0

'enterCheck'はどのようなイベントに結びついていますか? – FrankerZ

答えて

2

はこれを試してみてください!これは私が今までに遭遇したことの中で最も混乱しています!

0

KeyPressイベントを使用してください:仕事してください

private void enterCheck(object sender, KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Enter) 
    { 
     MessageBox.Show(e.KeyCode.ToString()); 
    } 
    else 
    { 
     e.Handled = true; 
    } 
} 

// This event occurs after the KeyDown event and can be used to prevent 
// characters from entering the control. 
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) 
{ 
    // Check for the flag being set in the KeyDown event. 
    if (e.KeyChar == (char)Keys.Return) 
    { 
     // Stop the character from being entered into the control since it is non-numerical. 
     MessageBox.Show("Enter Was Pressed"); 
     e.Handled = true; 
    } 
} 
+0

KeyPressEventArgsにKeyCodeの定義が含まれていないとのエラーが表示されます – Michael

+0

私の回答を更新しました – FrankerZ

+0

@Michael私の更新された回答は機能しませんでしたか? – FrankerZ

関連する問題