[ウィンドウ上のマウス カーソル]: .NET C# 4.0 ウィンドウでテキスト ボックスに入力すると、マウス カーソルが消え、これ自体が奇妙です。
[ウィンドウ外のマウス カーソル]: テキスト ボックスに入力して ENTER キーを押して UI スレッドで何らかの操作を行っているときに、マウス カーソルをウィンドウ上に移動すると、マウスが消えます。
マウスが常に見えるようにするにはどうすればよいですか?
[ウィンドウ上のマウス カーソル]: .NET C# 4.0 ウィンドウでテキスト ボックスに入力すると、マウス カーソルが消え、これ自体が奇妙です。
[ウィンドウ外のマウス カーソル]: テキスト ボックスに入力して ENTER キーを押して UI スレッドで何らかの操作を行っているときに、マウス カーソルをウィンドウ上に移動すると、マウスが消えます。
マウスが常に見えるようにするにはどうすればよいですか?
(どのアプリケーションでも) テキスト ボックスに入力すると、Windows は自動的にカーソルを非表示にします。一部の UI 担当者は、気を散らすのを防ぐためだと言うかもしれませんが、これは私の推測です。もう一度マウスを動かすと、再び表示されます。
UI スレッドで作業を行っているときにカーソルが非表示のままになる理由は、次のとおりです。アプリケーションがUI スレッドでの作業でビジー状態になっているためです。操作がそこで行われているため、Windows はアプリケーションがある画面の領域を再描画できません。そのため、マウスが再び「消える」のです。
同様に現れる2つの問題は異なります。
多くの作業を行う必要があることがわかっているが、ユーザー インターフェイスとまったく対話しない場合は、別のスレッドでその作業を開始して、アプリケーションが引き続きユーザーに反応しているように感じられるようにする必要があります。
最終的に別のスレッドから UI に何かを発生させる必要がある場合は、Control.Invokeメソッドを確認する必要があります。