メインフォームとスプラッシュウィンドウ。の続き4。

メインフォームとスプラッシュウィンドウ。
メインフォームとスプラッシュウィンドウ。の続き
メインフォームとスプラッシュウィンドウ。の続き2。
メインフォームとスプラッシュウィンドウ。の続き3。

いろいろ思いを馳せているわけですが。
Application.Runとメッセージループとフォームのからみがよくわからん。(っていうか、からんでない?)
たとえばこんなコード。


[Visual Basic]

Imports System
Imports System.Windows.Forms


Public Class Program


Public Shared Sub Main()

Using form As New TestForm

' formのFormClosedイベントにExitThreadを呼び出すメソッドを登録する。
AddHandler form.FormClosed, AddressOf Program.CallExitThread

form.Show()

Application.Run()

End Using

End Sub


Public Shared Sub CallExitThread(ByVal sender As Object, ByVal e As FormClosedEventArgs)
' formのFormClosedイベントが発生したらExitThreadを呼び出す。
Application.ExitThread()

End Sub


End Class

TestForm クラスはCloseButton.Clickによって自身のCloseメソッドを呼びます。

[Visual Basic]

Imports System
Imports System.Windows.Forms


Public Class TestForm


Private Sub CloseButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseButton.Click

Me.Close()

End Sub


End Class

これってアリなんでしょうか?