2012-03-09 2 views
0

폼에 단추가있을 때 단추를 클릭하면 웹 서비스를 통해 다른 테이블의 데이터를 가져옵니다.Windows Mobile 응용 프로그램에서 커서가 프로세스의 끝까지 회전하지 않습니다.

나는

private void imageButtonWorkOrder_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     Cursor.Current = Cursors.WaitCursor; 

     //Code for to get data from 10 tables 
    } 
    catch 
    { 
    } 
    finally 
    { 
     Cursor.Current = Cursors.Default;    
    } 
} 

아래의 코드를 쓰고 있어요하지만이 직면하고있는 문제는 커서가 과정의 끝을 회전되지 않는 것입니다. 그것은 단지 잠시 후에 멈추고 있습니다.

이 문제를 해결하는 방법을 알려주십시오. 그것은 쉬운 일이 아닙니다 사전에

감사합니다, Balu

답변

1

는 우리가 알고있는 작은 기반으로 대답.

//Code for to get data from 10 tables 

절대 다시 기본 커서를 설정 한 다음 마지막으로 차단하여 기다리지 않습니다 : 당신의 행동을 일으킬 수있는 것은 코드의이 섹션이있는 경우이다. 실행중인 Worker 쓰레드도 다시 바꿀 수 있습니다. Cursor는 쓰레드가 아니며 참조 카운팅도 아닙니다.

클릭 관찰자에서 일련의 데이터를 가져 오는 것, 특히 대기 커서를 정당화 할 충분한 시간이 필요할 때 좋은 사례는 아닙니다. 우려 사항 (이 코드는 아마도 부족함)을 구분하지 않더라도 전체 UI는 사용자에게 "잠겨"표시됩니다. 백그라운드 스레드에서 데이터를 얻고 완료되면 UI에 신호를 보내 사용자가 그 시점에서 UI 채우기를 수행 할 수 있도록하는 것이 훨씬 낫습니다.

관련 문제