Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Указатель мыши , который иногда называется курсором, представляет собой растровое изображение, указывающее точку фокуса на экране для ввода пользователем с помощью мыши. В этой статье представлен обзор указателя мыши в Windows Forms и описаны некоторые способы изменения и управления указателем мыши.
Доступ к указателю мыши
Указатель мыши представлен классом Cursor, а каждый Control имеет свойство Control.Cursor, указывающее указатель для этого элемента управления. Класс Cursor содержит свойства, описывающие указатель, такие как свойства Position и HotSpot, а также методы, которые могут изменять внешний вид указателя, например методы Show, Hideи DrawStretched.
В следующем примере курсор скрывается при нажатии курсора на кнопку:
private void button1_MouseEnter(object sender, EventArgs e) =>
Cursor.Hide();
private void button1_MouseLeave(object sender, EventArgs e) =>
Cursor.Show();
Private Sub Button1_MouseEnter(sender As Object, e As EventArgs) Handles Button1.MouseEnter
Cursor.Hide()
End Sub
Private Sub Button1_MouseLeave(sender As Object, e As EventArgs) Handles Button1.MouseLeave
Cursor.Show()
End Sub
Управление указателем мыши
Иногда может потребоваться изменить положение мыши или ограничить указатель мыши определенной областью. Вы можете получить или задать текущее расположение мыши с помощью Cursor.Position свойства. Кроме того, можно ограничить область, доступную указателю мыши, задав Clip свойство. По умолчанию область клипа — это весь экран.
В следующем примере указатель мыши размещается между двумя кнопками при щелчке:
private void button1_Click(object sender, EventArgs e) =>
Cursor.Position = PointToScreen(button2.Location);
private void button2_Click(object sender, EventArgs e) =>
Cursor.Position = PointToScreen(button1.Location);
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
PointToScreen(Button2.Location)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
PointToScreen(Button1.Location)
End Sub
Изменение указателя мыши
Изменение указателя мыши является важным способом предоставления отзывов пользователю. Например, указатель мыши можно изменить в обработчиках MouseEnter и событиях MouseLeave, чтобы сообщить пользователю, что вычисления происходят и ограничить взаимодействие пользователя в элементе управления. Иногда указатель мыши изменяется из-за системных событий, таких как когда приложение участвует в операции перетаскивания.
Основным способом изменения указателя мыши является установка свойства Control.Cursor или DefaultCursor элемента управления на новый Cursor. Примеры изменения указателя мыши см. в примере кода в классе Cursor. Кроме того, класс Cursors предоставляет набор объектов Cursor для многих различных типов указателей, таких как указатель, похожий на руку.
В следующем примере курсор указателя мыши для кнопки изменяется на руку:
button2.Cursor = System.Windows.Forms.Cursors.Hand;
Button2.Cursor = System.Windows.Forms.Cursors.Hand
Чтобы отобразить указатель ожидания, который напоминает часовые часы, когда указатель мыши находится на элементе управления, используйте свойство UseWaitCursor класса Control.
См. также
.NET Desktop feedback