Gerenciar ponteiros do mouse (Windows Forms .NET)
O ponteiro do mouse, que às vezes é chamado de cursor, é um bitmap que especifica um ponto de foco na tela para a entrada do utilizador com o mouse. Este tópico 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 limitar a área em que 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 propriedade Position do Cursor. Além disso, pode limitar a área em que o ponteiro do rato pode ser utilizado, configurando a propriedade Clip. A área de recorte, por defeito, é o ecrã inteiro.
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 será alterado 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 mouse é definindo a propriedade Control.Cursor ou DefaultCursor de um controle para um novo 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
.NET Desktop feedback