2012-11-27 3 views
1

PictureBox의 이미지에 여러 개의 타원을 그려 넣으려고합니다.하지만 폼과 상호 작용할 때 (예 : 움직이는 것처럼) GDI가 InvalidOperationException을 던졌습니다. 사용) 스레드에서 현재 이미지를 복제 할 때.PictureBox 이미지에 스레드로 그리기

캔버스에서 몇 가지 셰이프를 애니메이션화하고 사용자가 양식과 상호 작용하는 동안 부드러운 느낌을주고 이미지를 확대 할 수 있도록하는 것이 목표입니다.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

1

는 배경 스레드와 상호 작용하는 별도의 이미지를 유지하고 보여 새로운 내용이있는 경우에 당신의 UI 스레드에 복제. 복제는 BeginInvoke를 통해 수행되어야합니다.

+0

매력처럼 작동합니다. 감사 –

1

PictureBox와 상호 작용하기 전에 GUI 스레드를 사용하려면 BeginInvoke를 호출해야 할 수도 있습니다. 그래서 같이

...

form.BeginInvoke(ManipulatePictureBox);