[鼠标光标在窗口上]:当我输入文本框时,在.NET C#4.0窗口中,鼠标光标消失,这本身就很奇怪。
[鼠标光标在窗口外]:当我输入文本框并按下ENTER键在UI线程中做一些事情,然后在做这些事情时,我将鼠标光标移到窗口上,鼠标消失。我该怎么做才能让鼠标始终可见?
任何提示?
答案 0 :(得分:3)
在文本框中输入(在任何应用程序中)时,Windows将自动隐藏光标。一些UI人可能会说这是为了防止分心,这只是我的猜测。如果再次移动鼠标,它将重新出现。
在UI线程中工作时光标保持不可见的原因只是:您的应用程序忙于在UI线程上工作。由于您的操作正在进行,因此Windows无法重绘应用程序所在屏幕的区域。这就是鼠标再次“消失”的原因。
同样表现出来的两个问题是不同的。
如果你知道你需要做很多工作,但它根本不与用户界面交互,那么你应该在一个单独的线程中开始这项工作,这样你的应用程序就会继续感觉到对你的响应。用户。
如果您最终需要从另一个线程导致UI发生某些事情,您需要查看Control.Invoke方法。