2016-04-13 12 views
0

Imバーコード入力を受け入れるテキストボックスを使用し、その入力でstuffを実行するEnterキーを使用します。しかし、それは入力された各番号に対して一度Enterキーを送信します。 Enterキーを1回だけ送信する方法はありますか?あるいは、もう一方を控えめにするのでしょうか?textboxは、入力された各番号のEnterキーを送信します

private void txtBscanned_KeyDown(object sender, KeyEventArgs e) 
    { 
     this.txtBscanned.KeyDown += new System.Windows.Forms.KeyEventHandler(this.OnKeyDownHandler); 
    } 
    private void OnKeyDownHandler(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter) 
     { 

       MessageBox.Show(txtBscanned.Text); 
     } 
    } 
+0

"一度"あなたが話しているものは何でしょうか? –

+0

私は13の数字を入れ、最後に入力します。しかし、メッセージボックスは13回出現しています。 – SarahJ

答えて

0

なぜテキストボックス自体にキーダウンイベントを割り当てていますか?コンストラクタまたはデザイナを使用してイベントを割り当てる必要があります。

public Form1() 
    { 
     InitializeComponent(); 
     txtBscanned.KeyDown += new KeyEventHandler(this.OnKeyDownHandler); 
     } 
+0

固定していただきありがとうございます。 – SarahJ

+0

問題が解決した場合は、回答としてマークしてください –