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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
フォームの再読み込み
Visual Basic(VBA)
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
CloseとDisposeの違い
Visual Basic(VBA)
-
-
4
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
5
子フォームでDB更新後、親フォームに戻った際、DBを読み直しするには??
Visual Basic(VBA)
-
6
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
7
TextBoxに半角数字のみの入力しかできないようにしたい
Visual Basic(VBA)
-
8
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
9
Hideについて(.NET)
Visual Basic(VBA)
-
10
VB.NET 親フォームから子フォームのTextBoxに書き込みたい
Visual Basic(VBA)
-
11
他のフォームから別のフォームのサブルーチンを呼び出す
Visual Basic(VBA)
-
12
Visual Basic.NETの、Form 間での引数の引渡し方法を教えてください。
Visual Basic(VBA)
-
13
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
14
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
15
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
16
他フォームのクリックイベント取得
Visual Basic(VBA)
-
17
VB.NET DataGridView 縦スクロールバーを常に表示
Visual Basic(VBA)
-
18
VBのReturnの使い方
Visual Basic(VBA)
-
19
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
20
配列の重複する値とその個数を取得したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別フォームから戻ったときのイ...
-
「Cancel = True」とはどういう...
-
VBAでIEの「Web ページからのメ...
-
リンクをクリックしたのと同じ...
-
javascriptの中で、perlのコマ...
-
処理終了後のに砂時計が、クリ...
-
フォームの値を取得できません...
-
マイページはどこを開くの
-
ウインドウを毎回同じ位置、大...
-
エクセルのシート上に別のシー...
-
デジタル時計の時刻合わせの方...
-
Javascript_submit()完了後に処...
-
[Java] Edgeでのアドレスバー非...
-
エクセルVBAでフォームのListbo...
-
【Android】ユーザー補助機能ボ...
-
VBA ポップアップが表示された...
-
小さな表示窓の呼び方は
-
リストビューをスクロールさせ...
-
Excelでワードアートや図を常に...
-
親ウィンドウから開いた子ウィ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Cancel = True」とはどういう...
-
別フォームから戻ったときのイ...
-
VB2005 DataGridView上でクリッ...
-
エクセル アプリケーションの...
-
処理終了後のに砂時計が、クリ...
-
VBAでIEの「Web ページからのメ...
-
VB6.0のEnabledをfalseにしても...
-
excelのタスクバーアイコンが・...
-
Sleep関数の最大時間について
-
Perlで数値(小数点、負の数、...
-
javascriptの中で、perlのコマ...
-
C# マウスオーバーの記述方法
-
C++での連続した左クリックの禁...
-
Perlの多重起動を禁止したい
-
[CGI]ブラウザを閉じた時の動作
-
VC++2010 エディットボックスに...
-
フォームの値を取得できません...
-
エクセルVBAのMultipageの使...
-
【C#】ラベルのダブルクリック...
-
別ページからのタブ切り替えの...
おすすめ情報