1
  • [将鼠标光标悬停在窗口上]:当我在 .NET C# 4.0 窗口上输入文本框时,鼠标光标消失了,这本身就很奇怪。

  • [鼠标光标在窗口外]:当我输入文本框并按 ENTER 键在 UI 线程中做一些事情时,然后在做这些事情时,我将鼠标光标移到窗口上,鼠标消失。

我该怎么做才能让鼠标始终可见?

4

1 回答 1

3

在文本框中(在任何应用程序中)键入时,Windows 会自动隐藏您的光标。一些 UI 人可能会说这是为了防止分心,这只是我的猜测。如果您再次移动鼠标,它将重新出现。

在 UI 线程中工作时光标保持不可见的原因仅仅是:您的应用程序正忙于在 UI 线程上工作。因为您的操作正在那里进行,Windows 无法重绘您的应用程序所在的屏幕区域。这就是鼠标再次“消失”的原因。

这两个问题在表现相似的同时是不同的。

如果你知道你需要做很多工作,但它根本不与用户界面交互,你应该在一个单独的线程中开始这项工作,以便你的应用程序继续对你的用户做出响应。

如果您最终需要从另一个线程导致 UI 发生某些事情,则需要检查Control.Invoke方法。

于 2013-04-30T16:20:04.977 回答