アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB.net/C# .NET Framework 2.0で開発しております。
いま、Panel等コンテナコントロールの上に子コントロールが乗っているとして、この時子コントロールの指定したイベントが発生した際に、親コンテナの同じイベントを発生させたいと思っていますが、なかなかスマートなやり方が見つからずに悩んでおります。
子配置の際にAddHandler等でごりごりイベントハンドラを指定しまくれば、出来ることはできるのですが…それ以外のやり方としてどんなものがあるのか、知りたくなって質問させていただきました。
GUIの開発においてこういった要望はそれなりにあると思うのですが、皆様はどのようにして解決してらっしゃるのでしょうか?
ご教示下さい。

A 回答 (2件)

同じ処理になるものは関数化しておいて、


全ての同じ処理させるイベント関数でその関数を呼ぶ。

ぐらいにしか思いつきませんが?

この回答への補足

すみません、補足を付けるべき所を誤ってお礼をつけてしまいました。

補足日時:2009/06/14 10:33
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。説明が悪かったかもしれません。イベントハンドラ割り当ての部分をどうにかして自動化できないか、という点についてお聞きしたいです。例えばリフレクションを活用することによってイベント割り当てを自動化できないかなどと考えてもみましたが、このために実行時負担をかけるのもどうかなと思いまして…

つまり実現したいことは、
1.親コンテナの上に子コントロールを配置した状態で
2.子の特定のプロパティを変更する、等の簡単な操作だけで、
3.子のClickイベントが自動的に親のClickイベントハンドラに割り当てられる
です。

宜しくお願い致します。

お礼日時:2009/06/14 10:31

そうですね プロパティの変更でそのような動きとなると子コントールの派生クラスを作って親のハンドラを呼ぶようにしないといけないかと



少々趣は違いますが FormクラスのKeyPreviewプロパティのような動きということでしょうか ・・・

WndProcをオーバーライドするか、個々のProtectedイベントで親イベントをコールするような方向かと
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!