(VB2008EEです)Form1からForm2をモーダレスで表示(Show(Me))したのち、
Form2を、(Form2の)閉じるボタン(右上にあるXボタン)で閉じるときに、
単にHideするだけの処理に変更することは可能でしょうか。
デフォルトでは、閉じるボタンですと、Close()と同様、
Close(&Dispose)となると思いますが、Hide()処理に
変えられるかということです。
。。。
試しに、FormClosingイベントハンドラでHide()→e.cancel=Trueって
やってみたところ、(再度同じForm2のインスタンスを使ってShowができ、
さらに前回のText表示などが残っているなど)その場はうまく行ったように
見えたのですが、そうすると、アプリ(Form1)が閉じるボタンで終了しなくなって
しまいました。
(Application.Exitでもダメ、Endでは(強制終了とのことなので)OKですが)
Form2のClose処理をCancelしているからだ、とは思いますが。
ShowDialog→Xボタン(同じ記述のまま) の後では、終了可能です。
では、Show→Xボタンのあとで、同じインスタンスで、上記と同じように、
ShowDialog→Xボタンとしたあと、Form1のXボタンでアプリを
終了させようとするとどうなるか。
結果は、終了不能でした。
一度Show→Xしたらそれをどこかに覚えている?ってことなのでしょうか。。。
ここらへんの現象まで、合わせて説明できる方がいらっしゃったら
合わせてご説明いただけませんでしょうか。
。。。
なお、なぜこんなことするの?という実際論はここではなしで
純粋に技術論でお願いいたします。
No.1ベストアンサー
- 回答日時:
Form2のFormClosingのコードはどのようになっているのでしょう?
Xまたはシステムメニューの閉じるの場合だけHideを実行したいなら
Private Sub Form2_FormClosing( 引数省略 )
if e.CloseReason = CloseReason.UserClosing then
e.Cancel = True
me.Hide()
end if
End Sub
といった具合にしてみてはいかがでしょう
この回答への補足
すいません、忘れがちな自分用にメモをここに書かせてください。
「フォームが閉じられる時その原因を知る」
http://dobon.net/vb/dotnet/form/unloadmode.html
「(MSDN)CloseReason 列挙体」
http://msdn.microsoft.com/ja-jp/library/system.w …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- その他(Microsoft Office) windows10で作業を終了する際の「保存しますか はい いいえ」を表示させずに自動で保存する方法 6 2023/03/15 11:29
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- docomo(ドコモ) 通話録音が(最初から)自動的に始まるアプリは? 7 2023/01/16 15:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
フォームの再読み込み
-
.NET(VB)でボタンの連打を防止...
-
VBAで多数のプログラムを一つの...
-
VBでのエラー音の消し方
-
ダウンロードダイアログをVB...
-
[Excel VBA]コマンドボタンの入...
-
C#で動的に作ったtextboxを消す。
-
セルをマクロのボタンにしたい。
-
C#プログラムで、ボタンをショ...
-
VB.net でトグルボタンを実現し...
-
ボタンの状態
-
Access VBA でデータペーストを...
-
vb.net タイマーに引数を渡す
-
エクセルVBAでユーザーフォーム...
-
コマンドボタンやイメージにマ...
-
他のアプリケーションとの連携
-
excel シート上のボタンが動かない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
フォームの再読み込み
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
セルをマクロのボタンにしたい。
-
コマンドボタンやイメージにマ...
-
Excel VBA Application.caller...
-
VBAのボタンの位置が変わって困...
-
Access VBA でデータペーストを...
-
プロシージャからイベントをコ...
-
他のアプリケーションとの連携
-
閉じると「+」になり開くと「-...
-
C#で動的に作ったtextboxを消す。
-
ボタンをマウスで押し続けたと...
-
VBA でのボタンの移動について
-
ボタン
-
CommandButtonのCaptionを変化...
-
TextBoxでEnterキーを押すと、...
-
VB.net でトグルボタンを実現し...
おすすめ情報