複数の子フォームから親フォームを「終了」させる時に処理を指定したい – プログラミング – Home

複数の子フォームから親フォームを「終了...
 
通知
すべてクリア

[解決済] 複数の子フォームから親フォームを「終了」させる時に処理を指定したい


なおぞう
 なおぞう
(@なおぞう)
ゲスト
結合: 8年前
投稿: 143
Topic starter  

よろしくお願いします。
C# VS2010で開発しております。

親フォームA
子フォームB
子フォームCと有りまして。

Bを終了する際に親Aを終了させるのですが、Bの時は親フォームで「本当に終わらせま
すか」というメッセージを出して確認。
Cを終了する場合には、問答無用で親Aを終了させたいのです。

親フォームのClose()を呼んだときに、A_FromClosing()で、Bからの終了要求だったら確
認メッセージを出す。Cだったら出さないとしたいので、どの子フォームからClose()要
求がでたか知る方法を教えていただきたいです。

よろしくお願い致します。


引用未解決
トピックタグ
YuO
 YuO
(@YuO)
ゲスト
結合: 21年前
投稿: 320
 

FormBやFormCがFormA.Closeを直接呼ぶのではなく,
FormA.ForceCloseやFormA.ConfirmCloseというメソッドを用意しておいて,
FormBはFormA.ConfirmCloseを,FormCはForceCloseを呼ぶようにします。

そして,ConfirmCloseは確認メッセージを出して必要なら閉じる,
ForceCloseは確認メッセージを出さずに閉じれば良いです。


返信引用
なおぞう
 なおぞう
(@なおぞう)
ゲスト
結合: 8年前
投稿: 143
Topic starter  

>YuO様

アドバイスありがとうございました。
既存プログラムがあって、Closeの処理を大きく変えることができなかったので、外部変
数をもたせて、親フォームではどの子フォームからCloseが来たか判断する事で対応しま
した。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました