2016-04-02 11 views
0

私は同じものにアクセスする5つのテキストボックスを持っていますKeyPressEvent() どのテキストボックスから現在のキーが押されているかを検出しますか?イベントシグネチャでC#KeyPressイベントのtextBoxを複数のテキストボックスから検出

private void textBox_Department_KeyPress(object sender, KeyPressEventArgs e) 
    { 

     e.Handled = !(Char.IsLetter(e.KeyChar) | e.KeyChar == (char)Keys.Back | e.KeyChar==(char)Keys.Space); 
    } 
+0

テキストボックスとして送信者をキャストすると、イベントがから呼び出されたテキストボックスを決定するために名前を評価する: '(テキストボックス)sender.Name ' –

答えて

1

object senderはKeyPressイベントを呼び出す(あなたのケーステキストボックスに)オブジェクトです。

1

Tagプロパティを使用することも、x:Nameを使用してsenderがそれと等しいかどうかを確認することもできます。

たとえば、タグを使用する場合は、TextBoxにこれを行うことができます。

<TextBox Tag="textBox1"../> 

は、あなたのコードでは、あなたは sender TextBoxにキャストし、それのタグはあなたが好きに等しいかどうかを確認することができます。

var textBox = (TextBox)sender; 
if(textBox.Tag == "textBox1"){} 

あるいはさらに良い、送信者自身チェック:

var textBox = (TextBox)sender; 
if(textBox == myTextBoxNameInXName){} 
関連する問題