2012-03-09 35 views
0

我在窗體中有一個按鈕,當我單擊按鈕時它將通過webservice從不同的表中獲取數據。光標不旋轉到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;    
    } 
} 

但我面臨的問題是,光標不旋轉的過程中結束。它只是在一段時間後停止。

請告訴我如何解決這個問題。

由於事先 巴魯

回答

1

這就不好說了基於什麼一點我們知道。有一兩件事,可能會導致你的行爲,如果你的代碼的這一部分:

//Code for to get data from 10 tables 

曾經將光標設置回默認值,那麼就不會等待你的finally塊。任何正在運行的工作線程也可以將其更改回去 - 遊標不是每個線程,也不是引用計數。

作爲一個側面觀察,在點擊處理程序中獲取一堆數據 - 特別是當它需要足夠的時間來保證等待光標時,這不是一個好習慣。即使我們沒有考慮問題的分離(這個代碼可能缺乏),整個UI將會出現「鎖定」給用戶。你可以更好地在後臺線程中獲取數據,並在完成UI時向UI發出信號,以便在此時可以進行UI人口統計。