2012-05-26 4 views
0

어떻게 동시에 두 개의 창을 애니메이션으로 만들 수 있습니까? 나는 시도했다 :새 스레드에서 AnimateWindow 사용

[DllImport("user32.dll", CharSet = CharSet.Auto)] 
    static extern bool AnimateWindow(IntPtr hwnd, int time, int flags); 
    ... 

    AnimateWindow(panel1.Handle, speed, AW_SLIDE | AW_HOR_Top); 
    AnimateWindow(panel2.Handle, speed, AW_SLIDE | AW_HOR_Top); 

그러나 panel1은 애니메이션이 끝날 때까지 움직이지 않는다. 또한 후 2 애니메이션을 실행 ..

나는 스레딩을 사용해야합니다 ..하지만 난 내가 호출을 사용 할 수없는 경우에도 1

그래서 내가 그것을 어떻게 할 수 있습니까?

+0

[AnimateWindow 새 스레드에서 사용 (C#)] (http://stackoverflow.com/questions/11147086/animatewindow-using-in-a-new-thread-c) (제안 된 중복 질문은 다음과 같습니다. 새로운,하지만 더 많은 활동을 받았다, 그래서이 방향으로 닫으려고 투표) –

답변

-1

2 개의 윈드를 동시에 애니메이트하려면, 내가 생각하기에 스레딩 재료를 사용해야합니다. 하지만 당신은 이미 그것을 사용했다고 말했듯이 - 당신의 스레드가 동기화되지 않았다고 생각합니다. 아마도 두 스레드를 동기화하지 않고 사용했을 것입니다. animatewindow를 synchronized로 호출하는 메서드를 선언하면 제대로 작동해야합니다.

감사합니다. !!

관련 문제