|
分類:[VB.NET/VB2005 以降]
言語=VB2008
Windowsフォーム上で複数のPictureBoxを縦に並べるような画面を作っています。 具体的には、PictureBoxとLabelを配置したユーザーコントロールを用意し、 フォーム上のFlowLayoutPanelにこのユーザーコントロールを配置しています。 フォームのコンストラクタで渡した情報を元にユーザーコントロールを配置し、 各ユーザーコントロールで画像ファイルを読み込み、PictureBoxに表示しています。
ただ、画像の数(=PictureBoxの数=ユーザーコントロールの数)が多くなると (例えば数十個以上)、このフォームが起動するのに結構時間がかかります。 ボトルネックとなるのは画像ファイルをBitmapに読み込む時なのでしょうか?
画像の読込自体はフォームが開いてからでもいい(遅延してもいい)のですが、 各ユーザーコントロールのサイズをあらかじめ元の画像サイズの値を用いて計算し、 フォームが開いた時点で各コントロールのサイズが固定されている状態にしておきたいので、 あらかじめ画像サイズ情報を取得しておきたいのです。
フォームが開く時間を短縮させるよい方法がありましたら、アドバイスをお願い申し上げます。
|