Me.Close=アプリケーションの終了ではない?
投稿者 質問者  ()
投稿日時
2008/3/11 00:24:00
Me.Closeはあくまでもウィンドウを閉じるメソッドで、アプリケーションを終了させるメソッドとは、では一体、何なんでしょうか。ちなみに、ここで言うアプリケーションとは全体を指します。全体の終了メソッドは、何なんですか? お恥ずかしながら、これまでまるで意識しませんでした。
投稿者 よね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で示されているような画面で設定可)
この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で示されているような画面で設定可)