什么可能导致等待光标恢复到默认值之前应该?

时间:2016-01-29 21:18:32

标签: c# cursor hourglass

在Winforms应用程序中,我将Cursor设置为WaitCursor,并在finally块中将其设置为Default:

                     0                    1
Location Code                              
WAU1             23984           06/05/2014
WAU1             24896           06/05/2014
WAU1             27576           06/12/2014
WAU2            126973           06/05/2014
WAU2            219332           06/05/2014
WAU3             24375  2014-06-05 00:00:00
WAU4             23984  2014-06-05 00:00:00
WAU5              5199                  nan
WAU5             23984                  NaN
WAU6             12342  2014-06-05 00:00:00
WAU6            224123                  NaN

在大多数情况下,它工作正常,但不是全部 - 光标由于某种原因停止沙漏。然而,Cursor未在代码中的任何其他位置设置(默认或其他任何内容) - 仅在上面的代码中。

还有什么可能导致Cursor开始诅咒其无休止的振动并停止它的咳嗽吗?

1 个答案:

答案 0 :(得分:1)

要设置整个应用程序的当前光标,您应该使用

Cursor.Current = Cursors.WaitCursor;
...
Cursor.Current = Cursors.Default;

而是您的代码设置当前表单的Cursor属性 您可能将鼠标移动到表单边界之外,它将恢复为默认值。

From MSDN Cursor class

  

从Control类派生的所有控件都有一个Cursor   属性。要更改鼠标指针显示的光标   在控件的范围内,为光标指定一个Cursor   控制的财产。或者,您可以在显示游标   通过将Cursor分配给Current属性

来应用程序级别