#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.