- PR -

他のクラスのイベントをフックしたい。

1
投稿者投稿内容
data
会議室デビュー日: 2004/03/10
投稿数: 2
投稿日時: 2004-03-10 11:47
あるformクラス@から、別formクラスAを呼び出す処理を考えています。
ただ、間にAクラスの内容を制御するコントロールクラスを噛ませたい
と思っています。だいたい以下のようにするつもりです。

form@クラス→formA用のコントロールクラス→formAクラスの表示

この場合、コントロールクラスはformAをshowするつもりですが、
そのようにした場合、formAで起こったイベントの処理をコントロール
クラスが統括しようとした場合、一度formAを閉じなければならない
のでしょうか。

formAで起こったイベント(formの内容を登録等)をformAを閉じずに
コントロールクラスでフックして処理することはできないでしょうか。
方法をご存知の方がいらっしゃった教えてください。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-03-10 11:58
イベントについて調べてみてください。
dataさんは何気なく「イベント」という言葉を使っていますが、.NETにはイベントという機能が用意されています。

参考:
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconevents.asp
インターネット上ではなく、MSDNライブラリにも同じドキュメントがあるはずです。

>コントロールクラスでフックして処理することはできないでしょうか。
の解答としては「できます」です。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-03-10 12:06
引用:

dataさんの書き込み (2004-03-10 11:47) より:
この場合、コントロールクラスはformAをshowするつもりですが、
そのようにした場合、formAで起こったイベントの処理をコントロール
クラスが統括しようとした場合、一度formAを閉じなければならない
のでしょうか。


なんで「一度formAを閉じなければならない」と思われるんでしょうか?
どこかにそういう記述がありました?それともやってみたらそのように思いました?
なんとなくそう書いてみたというわけじゃないですよね?
出来ればどんなことをやったのか、なぜそう思ったのかも書いていただけると、どこで引っかかっているのか、はたまた勘違いしているのか、状況が分かりやすくなります。

内容については一郎さんの仰るように、イベントを「普通に」使えば特別問題なく出来るはずです。
data
会議室デビュー日: 2004/03/10
投稿数: 2
投稿日時: 2004-03-10 13:34
回答ありがとうございます。

確かに、書き込んでいただいたあたりの
内容を確認したところ、普通にできました。

今度はもっと調べてから書き込みます。
1

スキルアップ/キャリアアップ(JOB@IT)