即使光标位于Form外,C#也会更改光标

时间:2012-07-17 10:47:25

标签: c# cursor

即使光标位于表单外部,是否可以更改光标?

我使用MouseHook使用Win32 API捕获Cursor在表单外部时的位置。但是,我无法更改光标...

2 个答案:

答案 0 :(得分:3)

程序决定光标的外观。大多数窗口都要求使用默认箭头。但是,比方说,文本框控件要求I-Beam。超链接控件要求手。等等。如果您将鼠标悬停在可调整大小的窗口的窗口边缘上,则程序会要求调整其中一个大小调整游标。或者程序在一段时间内做某事并要求沙漏光标。等等。

因此,更换光标会遇到麻烦,无法为您不了解的其他程序选择正确的光标。

您可以通过技术方式将SetSystemCursor()转换为替换其中一个系统游标。但是那个非常也很麻烦,当你的程序轰炸时你将无法正常恢复它。需要重新启动才能解决问题。对于有视力障碍的用户也非常不利,你将用一个微不足道的游标替换她选择的超大游标。

这需要是用户选择,他们选择控制面板+鼠标来选择游标。

答案 1 :(得分:0)

也许您应该尝试使用MouseEnter和MouseLeave事件