시작 지점으로 Panel 클래스를 사용할 수 있습니다. 그냥 그걸 상속 해.
진행률 표시 줄을 패널 상단이나 첫 번째 멤버로로드 할 수 있습니다. 업데이트하지 않으려면 진행률 표시 줄에서 선택 윤곽 스타일을 사용할 수 있습니다. 그렇지 않으면 패널에 컨트롤을 추가 할 때 진행률 막대를 증가시킬 수 있습니다.
마키 스타일을 사용하면 거의 완료됩니다. 실제 진행률 막대가 0에서 100 %까지 채워지 길 원한다면 약간의 허구가 필요합니다.
다음은 까다로운 부분입니다. UI 구성 요소 업데이트는 UI 스레드에서 실행해야합니다. UI 스레드는 컨트롤 추가가 완료 될 때까지 이벤트 (예 : 진행률 막대 업데이트)를 처리하지 않으므로 UI 스레드에서 모든 것을 실행할 수는 없습니다.
필요한 기능은 UI를 업데이트 할 수 있도록 패널에 컨트롤을 추가하는 방법입니다. 이를 수행 할 수있는 많은 방법이 있습니다.
Thread thread = new Thread(MyControlAddingMethod);
thread.Start();
귀하의 제어 추가하는 방법은 UI 방법은 UI 스레드까지 호출을 마샬링해야합니다 : 가장 쉬운 방법은 할 틀림없이. 방법은 다음과 같습니다.
void MyControlAddingMethod()
{
myPanel.BeginInvoke(m => { myPanel.Controls.Add(myControl); ++myProgressBar.Value;});
//or
myPanel.BeginInvoke(MyFunctionThatDoesTheSameAsTheLambdaStatementAbove);
}
당신이하려는 일에 대해 더 자세한 정보를 제공해야합니다. – agibalov