- - PR -
複数のTextBoxオブジェクトのイベント
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-04-13 12:47
いつもお世話になってます。
早速質問させてください。 複数のTextBoxオブジェクトを持つフォームがあります。 この複数のオブジェクト全てに同じ内容のKeyPressイベントを持たせる場合、一つずつ書いていくしかないのでしょうか。 それとも一括で定義できる記述方法がありますでしょうか。 ご存知の方ご教授下さい。 また、このような初歩的な内容を取り扱いHPなどありましたら教えてください。 | ||||
|
投稿日時: 2004-04-13 13:02
諸農です。
C#/VS.NET or C#Builderであるなら、1つのイベントハンドラを記述してから、 残りのTextBoxコントロールクラスを選択状態にしてから、 オブジェクトプロパティのイベントハンドラタブで先に記述した イベントハンドラメソッドを指定するだけです。 ほかにもコードで設定するする方法があります。 textBox1.KeyPress += KeyPressEventHandler(MyMethod); のような感じです。 VB.NETの場合は、Handles(?)とか使うのかしら。 ちょっとよく分かりません。
掲載されているHPはあまり知りませんが、入門書やTips書などを見ると 書かれていると思います。。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-04-13 13:13
>この複数のオブジェクト全てに同じ内容のKeyPressイベントを持たせる場合
というのは、表現としては適切ではありませんね。 .NETではイベントという概念が存在します。これはいわゆる一般的な名詞のイベントではなくて、クラス等のメンバの一種のことです。 詳しくはMSDNライブラリで「イベント」や「デリゲート」あたりを調べてみてください。 で、にゃんぎさんの投稿から読み取るに、おそらく複数のテキストボックスのKeyPressイベントが発生した時に同じ仕事をするため、同じメソッドを呼び出したいということですよね。 例えばTextBox_KeyPress()メソッドを呼んでほしいとすれば、 textBox1.KeyPress += new KeyPressEventHandler(TextBox_KeyPress); textBox2.KeyPress += new KeyPressEventHandler(TextBox_KeyPress); textBox3.KeyPress += new KeyPressEventHandler(TextBox_KeyPress); textBox4.KeyPress += new KeyPressEventHandler(TextBox_KeyPress); こんな感じで複数のテキストボックスのKeyPressイベントに同じメソッドを追加すればOKです。 TextBox_KeyPress()が呼ばれた場合は、第一引数のsenderでどのテキストボックスでイベントが発生したのか判ります。 | ||||
|
投稿日時: 2004-04-13 13:21
な、なるほど!!
大変よくわかりました。 ありがとうございました。 やりたかった事はエンター押下でフォーカス移動です。 早速やってみます。 お二方本当にありがとうございました! |
1