通知
すべてクリア
Topic starter
2016年7月29日 7:01 PM
よろしくお願いします。
C# VS2010で開発しております。
親フォームA
子フォームB
子フォームCと有りまして。
Bを終了する際に親Aを終了させるのですが、Bの時は親フォームで「本当に終わらせま
すか」というメッセージを出して確認。
Cを終了する場合には、問答無用で親Aを終了させたいのです。
親フォームのClose()を呼んだときに、A_FromClosing()で、Bからの終了要求だったら確
認メッセージを出す。Cだったら出さないとしたいので、どの子フォームからClose()要
求がでたか知る方法を教えていただきたいです。
よろしくお願い致します。
2016年7月30日 1:24 AM
FormBやFormCがFormA.Closeを直接呼ぶのではなく,
FormA.ForceCloseやFormA.ConfirmCloseというメソッドを用意しておいて,
FormBはFormA.ConfirmCloseを,FormCはForceCloseを呼ぶようにします。
そして,ConfirmCloseは確認メッセージを出して必要なら閉じる,
ForceCloseは確認メッセージを出さずに閉じれば良いです。
Topic starter
2016年8月5日 9:09 PM
>YuO様
アドバイスありがとうございました。
既存プログラムがあって、Closeの処理を大きく変えることができなかったので、外部変
数をもたせて、親フォームではどの子フォームからCloseが来たか判断する事で対応しま
した。