質問 |
||
| QNo.4150100 | 別フォームから戻ったときのイベント | |
|---|---|---|
| 質問者:kenntoto |
VB.NETの質問です。 フォームA(以下A)から、フォームB(以下B)を モーダル表示で呼びだした後Bを閉じて、Aに戻ったときに、 フラグを立てたいと思っています。 このタイミングのイベントは どのようにして取ればよいのでしょうか? ちなにみAのActivatedイベントで試してみたのですが、 結果NGでした。 Aの上にBが重なっている状態で Bの部分的に見える箇所を一瞬クリックしても Activatedイベントが実行されてしまい、 フラグが立ってしまします。 もちろんモーダル表示なので、Aが前面にくることは ないのですが、なぜかActivatedイベントが実行されてしまいます。 きちんとBを閉じて、Aに戻った時に限り フラグを立てたいと思っています。 Bを閉じた時にB側でフラグを立てる方法もありますが、 仕様の都合上、A側で処理をさせたいのです。 以上、わかりづらいかもしれませんが ご存じの方がいましたらご教授ください。 |
|
困り度:
|
||
| 質問投稿日時: 08/07/04 09:29 |
||
回答 |
|
| ANo.3 | 既に出ている回答以外ですと、 BのClosedイベントに、A側で何か処理をAddHandlerすればBが閉じられたときにそれが実行されます。 この方法ですと、モーダル・モードレス関係なくBが閉じられた時に処理が実行できます。 |
|---|---|
| 回答者:NYOI | |
| 種類:回答 どんな人:専門家 自信:自信あり |
|
| 回答日時: 08/07/04 11:01 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.2 | 既に回答が掛かれてますが、敢えて補足すると… Bをモーダルで表示している間、Aの処理は概念的には ShowDialogのところで 「止まっている」と考えて差し支えないと思います。 なので、ShowDialogの直後でフラグを立てたりするだけで構わないのです。 |
|---|---|
| 回答者:K-Sogacchi | |
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| 回答日時: 08/07/04 10:06 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.1 | ShowDialogでモーダル表示していると思います この戻り値を使えばいいのではないですか? dim dlgRet as DialogResult dim dlg as new myModalForm() dim bflag as boolean = false dlgRet = dlg.ShowDialog(); if dlgRet = DialogResult.OK then bflag = True else bFlag = false end if といった具合ですが ・・・ |
|---|---|
| 回答者:redfox63 | |
| 種類:回答 どんな人:専門家 自信:自信あり |
|
| 回答日時: 08/07/04 09:42 |
|
| |
| この回答への補足 | 回答ありがとうございました。 そもそもdlgRet = dlg.ShowDialog() の書き方が間違っていて、 本来は画面を表示している間ストップするはずですが、 ストップされずに、これ以降の処理に進んでいたのが うまくいかなかった原因でした。 この方法で試してみたいと思います! |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |