
VB.NETの質問です。
フォームA(以下A)から、フォームB(以下B)を
モーダル表示で呼びだした後Bを閉じて、Aに戻ったときに、
フラグを立てたいと思っています。
このタイミングのイベントは
どのようにして取ればよいのでしょうか?
ちなにみAのActivatedイベントで試してみたのですが、
結果NGでした。
Aの上にBが重なっている状態で
Bの部分的に見える箇所を一瞬クリックしても
Activatedイベントが実行されてしまい、
フラグが立ってしまします。
もちろんモーダル表示なので、Aが前面にくることは
ないのですが、なぜかActivatedイベントが実行されてしまいます。
きちんとBを閉じて、Aに戻った時に限り
フラグを立てたいと思っています。
Bを閉じた時にB側でフラグを立てる方法もありますが、
仕様の都合上、A側で処理をさせたいのです。
以上、わかりづらいかもしれませんが
ご存じの方がいましたらご教授ください。
A 回答 (3件)
- 最新から表示
- 回答順に表示

No.3
- 回答日時:
既に出ている回答以外ですと、
BのClosedイベントに、A側で何か処理をAddHandlerすればBが閉じられたときにそれが実行されます。
この方法ですと、モーダル・モードレス関係なくBが閉じられた時に処理が実行できます。
No.2
- 回答日時:
既に回答が掛かれてますが、敢えて補足すると…
Bをモーダルで表示している間、Aの処理は概念的には ShowDialogのところで
「止まっている」と考えて差し支えないと思います。
なので、ShowDialogの直後でフラグを立てたりするだけで構わないのです。
No.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
といった具合ですが ・・・
この回答への補足
回答ありがとうございました。
そもそもdlgRet = dlg.ShowDialog() の書き方が間違っていて、
本来は画面を表示している間ストップするはずですが、
ストップされずに、これ以降の処理に進んでいたのが
うまくいかなかった原因でした。
この方法で試してみたいと思います!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
フォームの再読み込み
Visual Basic(VBA)
-
CloseとDisposeの違い
Visual Basic(VBA)
-
-
4
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
5
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
6
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
7
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
8
textboxユーザーコントロールのコピー&ペースト制御
Visual Basic(VBA)
-
9
DataTableに特定のフィールドが存在するかどうか調べるには?
Visual Basic(VBA)
-
10
Hideについて(.NET)
Visual Basic(VBA)
-
11
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
12
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
13
DataGridViewでyyyy/MM/dd
Visual Basic(VBA)
-
14
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
15
vb.netで画面のコントロールId名を変数で動的に制御し処理する方法
Visual Basic(VBA)
-
16
他のフォームから別のフォームのサブルーチンを呼び出す
Visual Basic(VBA)
-
17
Visual Basic.NETの、Form 間での引数の引渡し方法を教えてください。
Visual Basic(VBA)
-
18
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
19
VB.NET2003 テキストボックスに半角英数字以外入力させない
Visual Basic(VBA)
-
20
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# マウスオーバーの記述方法
-
マウスオーバー時に効果音を鳴らす
-
「Cancel = True」とはどういう...
-
デジタル時計の時刻合わせの方...
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
マイページはどこを開くの
-
助けて下さい!小窓表示位置が...
-
一定時間おきにアラームやポッ...
-
リンク時、親ウインドウを最前...
-
小さな表示窓の呼び方は
-
エクセルVBAでフォームのListbo...
-
ウインドウを毎回同じ位置、大...
-
[Java] Edgeでのアドレスバー非...
-
孫ウインドウを閉じたら親をリ...
-
MM_openBrWindowとwindow.open
-
TikTokLiteの自動スクロールの...
-
親ウインドのASPをリロードさせ...
-
写真を右から左にスクロールさ...
-
Visual Basicから Spreadのスク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別フォームから戻ったときのイ...
-
「Cancel = True」とはどういう...
-
VB2005 DataGridView上でクリッ...
-
エクセル アプリケーションの...
-
実行時引数からの日付取得
-
別ページからのタブ切り替えの...
-
数が一定でない複数の条件の指...
-
【C#】ラベルのダブルクリック...
-
プログラムについて
-
CGIの負荷計測
-
テータベースのページ処理
-
FlashとCGIで診断テストを作りたい
-
なぜメールサーバは子プロセス(...
-
excelのタスクバーアイコンが・...
-
Perlで数値(小数点、負の数、...
-
Perlプログラムについてファイ...
-
実行中のOSを知るには?
-
perlを使いxmlの処理
-
排他制御のためのロックについて
-
Sleep関数の最大時間について
おすすめ情報