VB6でできたフォームを表示しないでのLoadをどうしようかと考えることになりました。
Loadイベントの中身をコンストラクタに移動すれば良い気もしますが、
どうにも不安が拭えません。
ということで無理やりこんなメソッドを作りました。
Public Sub LoadHidden(ByRef target As Form) Dim tempLocation As Point = target.Location Dim tempStartPosition As FormStartPosition = target.StartPosition Dim tempShowInTaskbar As Boolean = target.ShowInTaskbar target.StartPosition = FormStartPosition.Manual target.ShowInTaskbar = False target.Location = New Point(-target.Width, -target.Height) target.Show() target.Hide() target.StartPosition = tempStartPosition target.ShowInTaskbar = tempShowInTaskbar target.Location = tempLocation End Sub
動作としては、
画面の外で表示してすぐ消すことでLoadイベントを発生させています。
あらかじめ言っておきますが、
こんなメソッドには頼らない方が望ましいです。
m9(^Д^)プギャー
と思って読むくらいが丁度良いですね。
0 件のコメント:
コメントを投稿