Partilhar via


Gerenciar ponteiros do mouse

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

Aceder ao ponteiro do rato

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

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, você pode querer alterar a posição do mouse ou restringir o ponteiro do mouse para uma área específica. Você pode obter ou definir a localização atual do mouse usando a Cursor.Position propriedade. Além disso, você pode limitar a área disponível para o ponteiro do mouse definindo a Clip propriedade. Por padrão, a área de clipe é 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

Alterar o ponteiro do rato

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

A principal maneira de alterar o ponteiro do rato é definir a propriedade Control.Cursor ou DefaultCursor de um controlo para um novo valor de Cursor. Para obter exemplos de alteração do ponteiro do mouse, consulte o exemplo de código na classe Cursor. Além disso, a classe Cursors expõe um conjunto de objetos Cursor para muitos tipos diferentes de ponteiros, como um ponteiro que se assemelha a 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 propriedade UseWaitCursor da classe Control.

Ver também