FlowLayoutPanel
は、私が作成したユーザーコントロールを読み込んでいます。FlowLayoutPanel UserControlsの読み込みが遅い
これはユーザーコントロールです(ColorBox
と名付けましょう)。これはラベル付きの画像(Panel
にロードされている)です。
私はFlowLayouPanel
にこれらをロードし、これが最終的な結果である:
私の問題は、カラーボックス(300〜400)の多くがあるときの負荷が非常に遅いということです。 現在、UIは機能しているので、別のスレッドでアイテムを読み込む関数を呼び出しています。
これは私がロードするために使用する機能です、私は私のアプリをプロファイリングし、それは多くの時間を要し一つだ:
private void LoadColorBox(List<ColorBox> cBoxList)
{
flowLayoutPanel1.SuspendLayout();
foreach (var cBox in cBoxList)
flowLayoutPanel1.Controls.Add(cBox);
flowLayoutPanel1.ResumeLayout();
}
多くの時間を要する別の機能がColorBox
のコンストラクタです特に私が使用しているImage
が存在するかどうかをチェックして、それを私のパネルに貼り付ける場所です。
Image img;
using (var bmpTemp = new Bitmap(imgPath))
{
img = new Bitmap(bmpTemp);
}
panelColor.BackgroundImage = img;
panelColor.BackgroundImageLayout = ImageLayout.Stretch;
パフォーマンスを向上させるにはどうすればよいですか?
いくつのコントロールがありますか?画像はどこから来ますか?いつそれらをロードしますか? – LarsTech