イベントハンドラの記述について

解決


モモ  2007-02-01 06:33:53  No: 135108

VB.NET2005です。
フォーム上の全コントロールについて
例えばEnter時に同じような処理を行いたい場合、
Handles Button1.Enter, Button2.Enter, Button3.Enter,
TextBox1.Enter, TextBox2.Enter, TextBox3.Enter…
といった具合に全コントロール分、羅列して記述しています。
もちろん処理的には全く問題ないのですが、
コントロールが増えた場合に、このHandles部分も常に
追記、変更する必要があり、たまに漏れてしまうことがあります。
他にKeyDownとLostFocus等で一律処理を行っており、
同じような記述をしているのですが、何か良い方法はないでしょうか。
とりあえず全コントロールについて、無条件でイベントが発生しても
構わないので(sender.nameで判別しますので)、
他に記述方法がありましたら教えて下さい。
何卒よろしくお願い致します。


魔界の仮面弁士  2007-02-01 10:49:31  No: 135109

Handles 句を使うのではなく、AddHandler ステートメントで登録しましょう。

> 構わないので(sender.nameで判別しますので)、
sender.Name で文字列を得て判断するよりも、
sender の型やインスタンスで判断した方が良いのでは。


モモ  2007-02-01 17:41:13  No: 135110

お返事ありがとうございます。
なるほど!そういう方法があったんですね。
フォーム上のコントロールを(種類を見ながら)
ループさせながら登録すれば良さそうですね。
フォームロードあたりでこの処理を追加してみます。
本当にありがとうございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加