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

问题描述 投票:1回答:1

我在我的Windows移动设备上使用C#.NET紧凑框架v3.5,我使用vs2008进行开发。

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

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

但是什么时候使用:

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

我正在等待光标

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

c# compact-framework
1个回答
2
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.