2016-10-12 3 views
1

Windows Mobile 디바이스에서 C# .NET Compact Framework v3.5를 사용하고 있으며 vs2008을 개발 용으로 사용하고 있습니다.Cursors.WaitCursor는 Messagebox.Show를 사용할 수있는 경우에만 작동합니다.

내가 최근에 이상한 오류가 발생하고

, 코드 Cursor.Current = Cursors.WaitCursor;의이 부분은 작동하지 않습니다

. 즉 커서가

에 표시되지 않을 때까지 기다립니다 그러나 때 사용하는 것입니다 :

Messagebox.Show(""); 
Cursor.Current = Cursors.WaitCursor; 

내가 대기 커서

아무것도 표시되지 Cursor.Current = Cursors.WaitCursor;을 차단 무엇입니까는 ???

답변

2

실제로 나머지 코드에 따라 다릅니다. UI 스레드가 창 메시지를 처리 ​​할 수있는 경우에만 대기 커서로 전환됩니다. Cursor.Current = ... 다음에 오는 코드가 UI 스레드를 차단하면 변경 사항이 표시되지 않습니다.

MessageBox.Show("");이 도움이 될 이유는 모르겠지만, 당신이 시도 할 수 있습니다 :

Cursor.Current = Cursors.WaitCursor; 
Application.DoEvents(); 

이 윈도우 메시지를 보류 신청 절차를 할 수 있습니다. 따라서 시각적으로 대기 커서로 전환해야합니다.

+0

아니요 Application.DoEvents(); 작동 안됨 . 다른 가능한 경우는 무엇입니까 ?? – user3383301

+0

최근 컴팩트 프레임 워크를 v2.0에서 v3.5로 업그레이드했습니다. 그게 어떤 문제를 일으킬 수 있을까요 ?? – user3383301

+0

나는 그런 문제를 실제로 경험하지 못했다. 대기 커서와 뒤로 전환 사이에 아주 짧은 시간이 지나면 커서가 변경되는 것을 볼 수 없습니다. –

관련 문제