2012-03-09 30 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人口统计。