문제

나는 때때로 약 10000 개의 항목을 넣어야하는 ListView가 있습니다. ListViews는 실제로 이것을 잘 처리하지 않으며, 항목을 분류하고 그릴 때 몇 초 동안 잠겨 있습니다. 항목을 개별적으로 추가하면 거의 1 분 동안 잠그고 더 나빠집니다.

이 문제를 해결하기 위해 ListView를 표시하기 전에 목록보기를 채우려고했지만 불행히도 다른 아이디어가 있습니다. ListView가 포함 된 패널을 돌릴 때만 그리기 시작하여 프로그램이 몇 초 동안 교수형을 일으 킵니다.

이 지연을 제거 할 수있는 방법에 대한 아이디어가 있습니까? 아니면 대량의 데이터를 보여주는 데 더 잘 사용하기 쉬운 다른 구성 요소가 있습니까?

도움이 되었습니까?

해결책

당신은 그것을 사용해야합니다 가상 모드.

다른 팁

잘. 백그라운드에 내용을로드하려면 ListView를 채우기 위해 스레드를 시도하여 양식을로드 할 수 있습니다.

응용 프로그램을 넣으면 잠시 멈출 것이라고 생각하지 않습니다. 항목을로드 할 때 (양식이 다시 그리기 및 이벤트를 수신 할 수 있음).

for (int ix=0; ix < 10000; ix ++)
{
 listView1.Items.Add(ix.ToString());
 Application.DoEvents();
}

가상 모드를 모르면 내 제안이 좋다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top