[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/06/13(Tue) 12:13
投稿者名:ぺそみ
Eメール:
URL :
タイトル:
UserControlのLoadについて
いつもお世話になっております。
開発環境は Windows XP/VB6.0(SP6) です。

Shapeコントロールが一つ貼り付けられているUserControlを
Loadメソッドを使用して動的に生成しております。
このLoadに「100ms」掛かり、For文で連続(20個、30個…)生成を行うと
とても時間がかかり困っております。

どのように高速化できるか分かりません。
分かる方がおいででしたらご教授お願いいたします。

投稿時間:2006/06/13(Tue) 13:39
投稿者名:K.J.K.
Eメール:
URL :
タイトル:
Re: UserControlのLoadについて
透過処理などが絡めば、場合によっては速度がかなり遅くなること
もあります。

ただまぁ、それぞれをコントロールとして割り当てねばならないのか、
から考えてみるべきでは。コントロールのインスタンスを生成し、
データをロードするなどの初期化をする、という動作は、それだけ
コストのかかる処理でもあるのですし。

投稿時間:2006/06/13(Tue) 16:04
投稿者名:ぺそみ
Eメール:
URL :
タイトル:
Re^2: UserControlのLoadについて
ご回答ありがとうございます。
もう少し処理を見直してみます。

投稿時間:2006/06/14(Wed) 10:01
投稿者名:ダンボ
Eメール:
URL :
タイトル:
Re^3: UserControlのLoadについて
1個1個の生成の際に各々表示していませんか?
それならば画面再表示の合計時間がすごく長いことになる。

30個なら30個のコントロールを非表示にして画面配置し、全部終わったところで
最後に一気にVisble=Trueにすれば、速くなると思う。

また、初期起動やマルチタスクで必要個数のコントロールをLoadだけしておけば
メモリは損だが時間は稼げると思う。

投稿時間:2006/06/14(Wed) 17:43
投稿者名:ぺそみ
Eメール:
URL :
タイトル:
Re^4: UserControlのLoadについて
ダンボさん、ご回答ありがとうございます。

ご指摘の通り、Loadの度に「Visible = True」としておりました。
最後に一括で行ってみます。