FlowLayoutPanel
은 내가 만든 사용자 콘트롤을로드합니다.FlowLayoutPanel UserControls의 느린 로딩
이것은 사용자 정의 컨트롤입니다 (이름은 ColorBox
).이 라벨은 레이블이있는 이미지 (Panel
에로드 됨)입니다.
은 내가 FlowLayouPanel
에 다음을로드하고이 최종 결과입니다
내 문제는 ColorBox (300 ~ 400)이 많이있을 때 로딩이 매우 느린 것입니다. 현재로서는 UI가 여전히 작동하도록 별도의 스레드에서 항목을로드하는 함수를 호출하고 있습니다.
이
내가로드 할 때 사용하는 기능입니다, 내 응용 프로그램을 프로파일과 시간이 많이 소요되는 하나 다음ColorBox
에 대한
이
private void LoadColorBox(List<ColorBox> cBoxList)
{
flowLayoutPanel1.SuspendLayout();
foreach (var cBox in cBoxList)
flowLayoutPanel1.Controls.Add(cBox);
flowLayoutPanel1.ResumeLayout();
}
많은 시간을 소요하는 또 다른 기능은 생성자를 객체, 특히 내가 사용하고있는 Image
이 존재하는지 확인한 다음 내 패널에 배치합니다.
Image img;
using (var bmpTemp = new Bitmap(imgPath))
{
img = new Bitmap(bmpTemp);
}
panelColor.BackgroundImage = img;
panelColor.BackgroundImageLayout = ImageLayout.Stretch;
성능을 향상 시키려면 어떻게해야합니까?
몇 개의 컨트롤이 있습니까? 이미지는 어디에서 오는가? 언제 그들을로드합니까? – LarsTech