У меня есть элемент управления, который имеет свойство Cursor
типа System.Windows.Forms.Cursor
. Вот пример того, что я пытаюсь сделать:Windows Forms Copy Cursor Reference
if (someCondition)
{
oldCursor = myControl.Cursor;
myControl.Cursor = Cursors.Hand;
}
else
{
myControl.Cursor = oldCursor;
}
Я вошел в код, используя контрольные точки, и я вижу, что логика верна. Однако, когда свойство управления Cursor
возвращается к oldCursor
, внешний вид курсора остается тем же (например, Cursors.Hand
).
Я заметил метод CopyHandle()
в классе Cursor
, и мне интересно, нужно ли как-то использовать его в моей операции копирования.
Может ли кто-нибудь дать представление о том, как скопировать ссылку Cursor
?
Существует немыслимая причина, по которой это не будет работать из предоставленной информации, Winforms гарантирует, что курсор на экране будет обновлен, когда мышь в данный момент находится на этом элементе управления. Вы недостаточно объяснили, что еще происходит? Проверьте myControl.IsHandleCreated с помощью отладчика. –