フォームの初回表示スピードを上げる
■予めLoadイベントを呼び出し初期処理を済ませておく
Public Sub kazFormPreLoad() Form2_Load(Me, Nothing) End Sub該当のフォーム(この場合Form2)に上記の様なメソッドを実装し、 親フォームからは下記の通り事前に呼び出しておく
Dim frm As New Form2 frm.kazFormPreLoad()もう少し乱暴な記述にすると・・・ 該当のフォームのLoadイベントプロシージャをPublicに変えてから
frm.Form2_Load(frm, Nothing)としても同様の動作はするが、セキュリティ的な問題等如何か? 自己責任の範疇で、ご判断頂きたく
■どんなケースで必要なのか?
フォームのLoadイベントで走る初期化処理が重いことにより、 表示までに時間がかかるケース等ですか? 必要なフォームを予めロードしておく事で表示スピードを苦にすることはなくなる、 スタートフォームであれば、スプラッシュを使うのも手ですが・・・ 今回のケースは、ロード時にListViewへのItem追加処理を書いており、その処理が思いのほか重く、 この様な回避策をとる事となった。色々と調べてはみたのですが、他の方法を見つけられず・・・ ※ ただ、この方法だとLoadイベント自体は重複して走る様だ・・・ 強制的に呼び出した時と初回のShowメソッドで表示した際の計2回、 これを回避するには、初期化が済んでいるかを判断した上で、重複した処理をしないよう配慮が必要である、 ここを怠るとせっかくの事前処理も「水の泡」と言う事になりかねない・・・