Курсоры.Рука, не соблюдающая конфигурацию системы

#vb.net #winforms #mouse-cursor

Вопрос:

Я работаю с VB.NET пользовательский элемент управления, который должен использовать ручной курсор, когда мышь находится над ним.

Этот бит действительно работает — когда курсор находится поверх элемента управления, мы получаем руку. Клиент сообщил об ошибке, которую я смог воспроизвести, что при изменении курсора руки в настройках мыши Windows он по-прежнему использует курсор Windows по умолчанию. Курсор со стрелкой действительно обновляется.

Me.Parent.Control.Cursor = Cursors.Hand

Чего мне не хватает, чтобы заставить его использовать правильный? Я предполагаю, что есть более простой способ, чем зайти в реестр, чтобы найти ручной курсор для текущего пользователя и загрузить его в качестве пользовательского объекта курсора?

Я пытался выполнить поиск в Google для этого, но я нахожу результаты только для разных сред (CSS и т. Д.) Или статей О том, что такое курсор.

Комментарии:

1. Некоторые курсоры используют предопределенные .cur ресурсы (вызовы Assembly.GetManifestResourceStream() ), а не системные, даже если определен IDC_HAND.


2. Я не помню, почему это так. Вероятно, потому, что он использует LoadCursor() (или, может быть, эта функция используется явно для предоставления курсоров по умолчанию на всей платформе). Вы можете загрузить его сами. Используя LoadImage() , а не LoadCursor() как это делает .Net Framework.