2012-01-20 06:52:05
【備忘録】VB.netでのLoadイベントについて
テーマ:仕事 今更なんだが・・忘れない為に・・・。
VB6の頃、
Load frmABC
というコードだけを記述し、
フォームをロードだけして表示はしない。
という事をしていた。
Loadイベントでフォームの初期化処理は行い、
でも、フォームはまだ表示したくない。。
Show()のタイミングでフォームの表示速度を上げたいとき、
もしくは、フォームは非表示のまま、
バックグランドでフォームに関連付けられた
タイマー処理を行いたい・・など。。用途は色々あった。
同じような事を、VB.NETでやろうとしても上手くいかない。
Dim frm as New frmABC
だけで、
Loadイベントが通知されると思っていたのだが、
そうでもないみたい。。
frm.Show()
や、
frm.Visibled=True
としてやらないと
Loadイベントが通知されない。。
フォームを表示しないと、
Loadイベントが通知されないでは困る。。
frm.Visibled=True
frm.Visibled=False
とやっても良いが、
これだと、
遅いPCではウインドウがチラ見えしてしまうかも・・だし・・。
そこで、対処策を調べると・・・
こんな方法(↓)を見つけた・・。
frmABCのクラス内に、
Public Sub frmABC_PreLoad()
frmABC_Load(Me, Nothing) ’Loadイベントを呼び出すだけ・・
End Sub
という関数を作成。
フォームを呼び出す側は・・
Dim frm as New frmABC
の後(直後)に、
frm.frmABC_PreLoad()
を記述する。
これだけ。
これだけ・・なんだが・・
ん~・・美しくない。。
ま、ショウガナイのか・・・。
ちなみに、
Dim frm as New frmABC
だけで、(内部的には)コンストラクタの呼び出しまでは
行っているようだ・・。
だったら、そのタイミングで
Loadイベントを発生させてくれても良いと思うのだが・・・。
とりあえず、これで一件落着なのだが、
もっとスマートな方法あるんだゼェーーーッ


・・と思っていらっしゃる方、
どうか、その妙案教えてください。
お願い致します。<m(_ _)m>

VB6の頃、
Load frmABC
というコードだけを記述し、
フォームをロードだけして表示はしない。
という事をしていた。
Loadイベントでフォームの初期化処理は行い、
でも、フォームはまだ表示したくない。。
Show()のタイミングでフォームの表示速度を上げたいとき、
もしくは、フォームは非表示のまま、
バックグランドでフォームに関連付けられた
タイマー処理を行いたい・・など。。用途は色々あった。
同じような事を、VB.NETでやろうとしても上手くいかない。
Dim frm as New frmABC
だけで、
Loadイベントが通知されると思っていたのだが、
そうでもないみたい。。
frm.Show()
や、
frm.Visibled=True
としてやらないと
Loadイベントが通知されない。。
フォームを表示しないと、
Loadイベントが通知されないでは困る。。
frm.Visibled=True
frm.Visibled=False
とやっても良いが、
これだと、
遅いPCではウインドウがチラ見えしてしまうかも・・だし・・。
そこで、対処策を調べると・・・
こんな方法(↓)を見つけた・・。
frmABCのクラス内に、
Public Sub frmABC_PreLoad()
frmABC_Load(Me, Nothing) ’Loadイベントを呼び出すだけ・・
End Sub
という関数を作成。
フォームを呼び出す側は・・
Dim frm as New frmABC
の後(直後)に、
frm.frmABC_PreLoad()
を記述する。
これだけ。
これだけ・・なんだが・・
ん~・・美しくない。。
ま、ショウガナイのか・・・。
ちなみに、
Dim frm as New frmABC
だけで、(内部的には)コンストラクタの呼び出しまでは
行っているようだ・・。
だったら、そのタイミングで
Loadイベントを発生させてくれても良いと思うのだが・・・。
とりあえず、これで一件落着なのだが、
もっとスマートな方法あるんだゼェーーーッ



・・と思っていらっしゃる方、
どうか、その妙案教えてください。
お願い致します。<m(_ _)m>
