1
  • [ウィンドウ上のマウス カーソル]: .NET C# 4.0 ウィンドウでテキスト ボックスに入力すると、マウス カーソルが消え、これ自体が奇妙です。

  • [ウィンドウ外のマウス カーソル]: テキスト ボックスに入力して ENTER キーを押して UI スレッドで何らかの操作を行っているときに、マウス カーソルをウィンドウ上に移動すると、マウスが消えます。

マウスが常に見えるようにするにはどうすればよいですか?

4

1 に答える 1

3

(どのアプリケーションでも) テキスト ボックスに入力すると、Windows は自動的にカーソルを非表示にします。一部の UI 担当者は、気を散らすのを防ぐためだと言うかもしれませんが、これは私の推測です。もう一度マウスを動かすと、再び表示されます。

UI スレッドで作業を行っているときにカーソルが非表示のままになる理由は、次のとおりです。アプリケーションがUI スレッドでの作業でビジー状態になっているためです。操作がそこで行われているため、Windows はアプリケーションがある画面の領域を再描画できません。そのため、マウスが再び「消える」のです。

同様に現れる2つの問題は異なります。

多くの作業を行う必要があることがわかっているが、ユーザー インターフェイスとまったく対話しない場合は、別のスレッドでその作業を開始して、アプリケーションが引き続きユーザーに反応しているように感じられるようにする必要があります。

最終的に別のスレッドから UI に何かを発生させる必要がある場合は、Control.Invokeメソッドを確認する必要があります。

于 2013-04-30T16:20:04.977 に答える