- - PR -
MDI子フォームの終了を取得する方法は?
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-02-10 17:32
こんにちは。
VB.NETで開発している者です。 現在、MDIを作成しているのですが、親フォームで子フォームを"Show" しています。 ここで、子フォームが閉じられたかどうかを取得するタイミング(イベント?) が分かりません。 まさかタイマーを動かして、定期的に取得とはしたくないんで... どなたかいい方法がありましたら、ぜひご教授下さい。 お願いします。 | ||||||||||||||||
|
投稿日時: 2004-02-10 17:45
こんにちは。
子フォーム(フォーム)の終了時にいくつかイベントが起こされると思いますが できませんか? _________________ | ||||||||||||||||
|
投稿日時: 2004-02-10 18:54
返信、ありがとうございます。
すいません、説明不足でした。 MDIで親フォームのバツボタンを押下すると、MDI子フォームのClosing,Closed イベントが起こらないのです。 普通に終わるときはCHNさんの言うとおりなのですが、上記ような場合、 どのようにしたらよいのでしょうか? お願いします。 | ||||||||||||||||
|
投稿日時: 2004-02-10 19:39
それなら、子フォーム起動時に「起動」したという情報を保存しておき、
閉じるときその情報をクリアするって仕組みでいいのでは... >MDIで親フォームのバツボタン のように親のイベント内でこの情報を調べることで可能だと思います。 複数の子フォームなら、配列の変数でも用意して...という感じで #これがベスト解だと思いませんが、ひとつの方法としては成立していると思います。 イベントは発生すると言われてますね、>KKKさん _________________ 世界平和を願う! http://park8.wakwak.com/~chin/ [ メッセージ編集済み 編集者: CHN 編集日時 2004-02-10 19:47 ] | ||||||||||||||||
|
投稿日時: 2004-02-10 19:43
諸農です。
試してみましたが、イベントは発生します。 また、ドキュメントにも発生すると書かれていました。
SDK Form.Closingイベントより引用 ms-help://MS.NETFrameworkSDKv1.1.JA/cpref/html/frlrfsystemwindowsformsformclassclosingtopic.htm
但し以下のような内容も書かれていました。
_________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||||||||||
|
投稿日時: 2004-02-10 19:48
諸農です。
MDI親フォームの場合、MdiChildrenプロパティを持っているので、 親フォームのClosingイベントで、子フォームのメソッドなりイベン トなりを、このプロパティを使って呼び出すことができそうですね。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||||||||||
|
投稿日時: 2004-02-11 17:25
みなさん、ありがとうございます。
試してみましたが、MDI親フォームのバツボタンで閉じても、 なぜかMDI子フォームのClosedイベントが発生しません。 なにかやり方に問題があるのでしょうか? もしかしたら、バツボタンでは、 Application.Exit メソッドと 同じことが起きているのでしょうか?? | ||||||||||||||||
|
投稿日時: 2004-02-11 18:13
諸農です。
私は、VS2003のC#で親フォームにメニューを配置して、 子フォームには何も配置せずに行いました。 ClosingとClosedイベントの両方にメッセージを出力する イベントハンドラを追加して行いましたが、両方のメッセ ージが出力されます。
私の方では、親フォームの×ボタンで行いました。 こちらの環境はWin2000SP4です。 なんだか妙な現象ですね。 切り分けとして、上記のような単純にフォームだけのプロジェクトを 作成して試してみることは可能でしょうか? _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |