Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
Me.Close=アプリケーションの終了ではない?
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=2244#CommentId18569
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
よねKEN
 ()
投稿日時
2008/3/11 01:10:00
プログラムを起動するとプログラムの中のMainメソッドが呼ばれます。
このMainメソッドを抜けるとプログラムは終了します。
例えば、VBで最小のプログラムは以下のような構成になります。
Module Program
Sub Main()
End Sub
End Module
あるいは、
Public Class Form1
Inherits Form
Public Shared Sub Main()
End Sub
End Class
という形の場合もあります。
VisualStudioといった開発環境を使用してプログラムを開発する場合、これらのMainメソッドを目にすることがないかもしれませんが、内部的には自動で作成されているだけです。
Windowsアプリでは、典型的には以下のようなコードが構成されるのだとイメージしてもらえばだいたい合っていると思います。
Public Class Form1
Inherits Form
Public Shared Sub Main()
Application.Run(New Form1())
End Sub
End Class
Applicaton.Runメソッドが実行されるとForm1がCloseされるまで待機になりますので、Mainメソッドは終了しません。
しかし、Form1をクローズするとApplicaton.Runメソッドの実行が終了し、その結果、Mainメソッドの処理も終わり、プログラムは終了します。
こういう場合のForm1をメインフォームと呼んだりします。
VB2003までは開発環境としてサポートしている終了方法は、メインフォームを閉じる=終了でしたが、VB2005では、設定により変更できるようになっています。
(http://www.geocities.jp/i_love_balard/myhome/dnet/myapplication.htmlで示されているような画面で設定可)