C# – Thread에서 Progressbar 값을 변경하기

Thread 안에서 ProgressBar 의 값을 바꿔도..
값은 바뀌어 있지만 UI에는 바뀌지 않습니다.
이때는 아래와 같이 delegate를 사용하시기 바랍니다.

// Delegate function 
void UpdateProgressSafe(int value)
{
     this.progressBar1.Value = value;
}

// The delegate
delegate void UpdateProgressDelegate(int value);

// The delegate member
UpdateProgressDelegate UpdateProgress = new UpdateProgressDelegate(UpdateProgressSafe);

// Invoke wherever you need to in another thread
// First parameter is the delegate
// Second parameter is the value
progressBar1.Invoke(UpdateProgress, new object[] { 75 });

출처 : http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/093dfdb2-e963-4deb-9b07-ad4538431185/

댓글 남기기