暗黙フォームか明示的フォームか? VB.NET2005
暗黙フォームか明示的フォームか?
という話題は既に取り上げられているし、軍配は「明示的」に上がっている。@ITしかり。
管理人も明示的フォームを使うと思う。
しかしながらパフォーマンス上どうしても暗黙フォームを使うことがある?かもしれない。
というわけでとりあえず実行速度を比較。
ついでにUsing も試す。
Form2には適当にLabel等20個ぐらいのコントロールを貼り付けた。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'sectiem モジュールでパブリック宣言
sectiem = My.Computer.Clock.TickCount 'コンピュータのシステム タイマから取得したミリ秒のカウントを格納する Integer です。
''暗黙フォーム 2回目が圧倒的に早い(開放されていないので)が いつ どこで開放されるか不明。
また使う前にフォームの値を初期化する必要あり!(テキストボックスの値など、前回の値が残る!ので)。
Form2.ShowDialog()
''----------------------------------------------
''明示的フォーム(いくらか遅くなる)
Dim fm2 As New Form2
fm2.ShowDialog()
fm2.Dispose() '明示的に開放する必要がある
''----------------------------------------------
''明示的に開放する必要がなくなる()
''ブロックが終了したとき、必ずシステムによって Dispose メソッドが呼び出されます。
''いくらか遅くなる Dim fm2 As New Form2 と速度は変わらない
Using fm3 As New Form2
fm3.ShowDialog()
End Using
''----------------------------------------------
'Form2に書く
''Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'' sectiem = My.Computer.Clock.TickCount - sectiem
'' Me.Label1.Text = sectiem
''End Sub
End Sub
End Class
|
|