Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
アプリ起動時にフォームを非表示にする。
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9555#CommentId14237
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2010/2/19 19:58:28
誤記訂正。
> もしかして、ShowModalDialog メソッドで呼び出していたりはしませんか?
上記は、「ShowDialog メソッド」の書き間違いです。m(_ _;)m
つまり、Main メソッド内に
Application.Run(
New
Form1(
"arg"
))
ではなく、
Using
f
As
New
Form1(
"arg"
)
f.ShowDialog()
End
Using
などと書いていたのではありませんか、という確認でした。
後者の場合、Form が非表示になると、そのまま Main の End Sub に到達してしまい、アプリが終了します。
前者の場合、Form が非表示になっても Application.Run は続行されるため、アプリは起動し続けます。
ShowDialog メソッドで呼び出した場合は、
・呼び出し元は、フォームが表示されている間、処理がそこでブロックされる。
そしてフォームが閉じるか非表示になるまで、呼び出し元へ制御が戻らない。
・フォームが閉じられても、そのフォームは自動的に破棄されないため、
呼び出し元で Using を使うなどして、そのフォームを Dispose しなければならない。
という動作になります。
一方、Application.Run や Show メソッドなどで呼び出した場合は、
・フォームが表示された後も、呼び出し元の処理はブロックされない。
・フォームが閉じられた場合、そのフォームは自動的に破棄されるため、
そのフォームを明示的に Dispose する必要はない。
という動作になります。