Cursors.WaitCursor仅在Messagebox.Show可用时才有效

时间:2016-10-12 10:36:36

标签: c# compact-framework

我在Windows移动设备上使用C#.NET compact framework v3.5,并使用vs2008进行开发。

我最近遇到了一个奇怪的错误,

代码Cursor.Current = Cursors.WaitCursor;的这部分不起作用。即等待光标未显示

但是什么时候使用:

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

我正在获得等待光标

阻止Cursor.Current = Cursors.WaitCursor;阻止显示???

1 个答案:

答案 0 :(得分:2)

它实际上取决于您拥有的其余代码。如果UI线程可以处理窗口消息,则系统将仅切换到等待光标。如果Cursor.Current = ...后面的代码阻止了UI线程,您将看不到任何更改。

我不知道为什么MessageBox.Show("");应该有帮助,但你可以试试这个:

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

这使应用程序可以处理待处理的Windows消息。因此,它应该可视地切换到等待光标。