Compartilhar via


Gerenciar ponteiros do mouse (Windows Forms .NET)

O ponteiro do mouse, que às vezes é conhecido como o cursor, é um bitmap que especifica um ponto de foco na tela para entrada do usuário com o mouse. Este tópico fornece uma visão geral do ponteiro do mouse no Windows Forms e descreve algumas maneiras de modificar e controlar o ponteiro do mouse.

Importante

A documentação do Guia da Área de Trabalho para .NET 7 e .NET 6 está em construção.

Acessando o ponteiro do mouse

O ponteiro do Cursor mouse é representado pela classe e cada Control um tem uma Control.Cursor propriedade que especifica o ponteiro para esse controle. A Cursor classe contém propriedades que descrevem o ponteiro, como as Position propriedades e e métodos que podem modificar a aparência do ponteiro, como o Show, Hidee HotSpotDrawStretched métodos.

O exemplo a seguir oculta o cursor quando o cursor está sobre um botão:

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

Controlando o ponteiro do mouse

Às vezes, pode ser recomendável limitar a área na qual o ponteiro do mouse pode ser usado ou alterar a posição do mouse. Você pode obter ou definir o local atual do mouse usando a Position propriedade do Cursor. Além disso, você pode limitar a área que o ponteiro do mouse pode ser usado para definir a Clip propriedade. A área de recorte, por padrão, é a tela inteira.

O exemplo a seguir posiciona o ponteiro do mouse entre dois botões quando eles são clicados:

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

Alterando o ponteiro do mouse

Alterar o ponteiro do mouse é uma maneira importante de fornecer comentários para o usuário. Por exemplo, o ponteiro do mouse pode ser modificado nos manipuladores dos eventos e para informar ao usuário que os cálculos estão ocorrendo e MouseLeave limitar a interação do MouseEnter usuário no controle. Às vezes, o ponteiro do mouse será alterado devido a eventos de sistema, como quando seu aplicativo está envolvido em uma operação do tipo "arrastar e soltar".

A principal maneira de alterar o ponteiro do mouse é definindo a Control.Cursor propriedade ou DefaultCursor de um controle para um novo Cursor. Para obter exemplos de alteração do ponteiro do mouse, consulte o Cursor exemplo de código na classe. Além disso, a classe expõe um conjunto de objetos para muitos tipos diferentes de Cursor ponteiros, como um ponteiro que se assemelha a Cursors uma mão.

O exemplo a seguir altera o cursor do ponteiro do mouse de um botão para uma mão:

button2.Cursor = System.Windows.Forms.Cursors.Hand;
Button2.Cursor = System.Windows.Forms.Cursors.Hand

Para exibir o ponteiro de espera, que se assemelha a uma ampulheta, sempre que o ponteiro do mouse estiver no controle, use a UseWaitCursor propriedade da Control classe.

Confira também