2016-10-12 19 views
1

私はWindows Mobileデバイス上でC#.NETコンパクトフレームワークv3.5を使用しています。開発用にvs2008を使用しています。Cursors.WaitCursorは、Messagebox.Showが利用可能な場合にのみ動作します。

私はコードCursor.Current = Cursors.WaitCursor;のこの部分が動作していない、最近

を奇妙なエラーが発生しています。すなわち、カーソルが

表示されていない待っしかし、使用時である:

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

私は待機カーソル

何が表示さからCursor.Current = Cursors.WaitCursor;をブロックしているを取得していますが?

答えて

2

実際は残りのコードに依存します。 UIスレッドがウィンドウメッセージを処理できる場合にのみ、システムは待機カーソルに切り替わります。 Cursor.Current = ...のコードがUIスレッドをブロックしても、変更は表示されません。

MessageBox.Show("");が助けるべき理由を私は知らないが、あなたはこれを試すことができます。

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

これはウィンドウメッセージを保留中のアプリケーションプロセスをすることができます。したがって、視覚的に待機カーソルに切り替える必要があります。

+0

No Application.DoEvents();動かない 。他の可能性のあるケースは何でしょうか? – user3383301

+0

私は最近コンパクトなフレームワークをv2.0からv3.5にアップグレードしました。それは何か問題を引き起こすべきですか? – user3383301

+0

私は実際にこのような問題を経験したことはありません。待っているカーソルと戻ってくる切り替えの間に非常に短い時間が経過した場合にのみ、カーソルが変化することはありません。 –

関連する問題