
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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(Microsoft Office) エクセルVBA イベントの切り替え 2 2022/05/01 03:51
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 名前と日付が一致する箇所にフラグを立てる関数が知りたいです 4 2022/08/11 02:24
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Access(アクセス) Access の SetFocus について教えてください 5 2022/08/04 07:32
- Perl Perlで特定文字列から特定文字列までを抜き出したい 4 2022/04/02 14:24
このQ&Aを見た人はこんなQ&Aも見ています
-
CloseとDisposeの違い
Visual Basic(VBA)
-
フォームの再読み込み
Visual Basic(VBA)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
-
4
textboxユーザーコントロールのコピー&ペースト制御
Visual Basic(VBA)
-
5
Hideについて(.NET)
Visual Basic(VBA)
-
6
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
7
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
8
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
9
VB.NET2003 テキストボックスに半角英数字以外入力させない
Visual Basic(VBA)
-
10
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
11
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
12
Visual Basic.NETの、Form 間での引数の引渡し方法を教えてください。
Visual Basic(VBA)
-
13
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
14
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
15
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
16
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
17
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
18
DataGridViewでyyyy/MM/dd
Visual Basic(VBA)
-
19
Ctrl + Cなど複数の入力キーの感知
Visual Basic(VBA)
-
20
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「Cancel = True」とはどういう...
-
別フォームから戻ったときのイ...
-
VB2005 DataGridView上でクリッ...
-
フォームの値を取得できません...
-
処理終了後のに砂時計が、クリ...
-
excelのタスクバーアイコンが・...
-
Perlで数値(小数点、負の数、...
-
デジタル時計の時刻合わせの方...
-
ウインドウを毎回同じ位置、大...
-
エクセルのシート上に別のシー...
-
Excelでワードアートや図を常に...
-
スクリプトって、何ですか?ど...
-
エクセルVBAでフォームのListbo...
-
一定時間おきにアラームやポッ...
-
マイページはどこを開くの
-
Access VBA でForm位置を参照す...
-
エクセルでポップアップを出し...
-
[Java] Edgeでのアドレスバー非...
-
Javascript_submit()完了後に処...
-
VBの画面で、全ウィンドウを一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Cancel = True」とはどういう...
-
別フォームから戻ったときのイ...
-
VB2005 DataGridView上でクリッ...
-
VB6.0のEnabledをfalseにしても...
-
C++での連続した左クリックの禁...
-
excelのタスクバーアイコンが・...
-
エクセル アプリケーションの...
-
【C#】ラベルのダブルクリック...
-
ASP DB検索結果の件数を事前表示
-
ヤフートップページの中心にあ...
-
別ページからのタブ切り替えの...
-
処理終了後のに砂時計が、クリ...
-
Perlで数値(小数点、負の数、...
-
VBAでIEの「Web ページからのメ...
-
Perlの多重起動を禁止したい
-
Perlでページ処理がどうしても...
-
MSFlexGrid
-
時間のかかる処理中にメッセー...
-
VC++2010 エディットボックスに...
-
C# マウスオーバーの記述方法
おすすめ情報