Como a entrada do mouse funciona em Formulários do Windows
Receber e tratar a entrada do mouse é uma parte importante de todos os aplicativos do Windows.Você pode manipular eventos do mouse para executar uma ação em seu aplicativo, ou usar informações sobre o local do mouse para executar um teste de clique ou outras ações.Além disso, você pode alterar a maneira como os controles de seu aplicativo manipulam a entrada do mouse.Este tópico descreve esses eventos do mouse em detalhes e como obter e alterar configurações do sistema para o mouse.Para obter mais informações sobre os dados fornecidos com eventos do mouse e a ordem na qual os eventos de clique do mouse são gerados, consulte Eventos do Mouse nos Formulários do Windows.
Localização do Mouse e Teste de Acerto
Quando o usuário move o mouse, o sistema operacional move o ponteiro do mouse.O ponteiro do mouse contém um único pixel, chamado ponto de acesso, que o sistema operacional rastreia e reconhece como a posição do ponteiro.Quando o usuário move o mouse ou pressiona um botão do mouse, o Control que contém o HotSpot gera o evento apropriado do mouse.Você pode obter a posição atual do mouse com a propriedade Location do MouseEventArgs quando estiver manipulando um evento do mouse ou usando a propriedade Position da classe Cursor.Você pode usar informações sobre o local do mouse em seguida para executar testes de acerto e executar uma ação com base no local do mouse.Capacidade de teste de acerto é interna a vários controles nos Formulários do Windows como os controles ListView, TreeView, MonthCalendar e DataGridView.Usado com o evento apropriado do mouse, MouseHover por exemplo, o teste de acerto é muito útil para determinar quando o aplicativo deve executar uma ação específica.
Eventos do Mouse
A principal maneira para responder à entrada do mouse é manipular eventos do mouse.A tabela a seguir mostra os eventos de mouse e descreve quando eles são gerados.
Evento do Mouse |
Descrição |
---|---|
Este evento ocorre quando o botão do mouse é solto, normalmente antes do evento MouseUp.O manipulador deste evento recebe um argumento do tipo EventArgs.Manipule neste evento quando você só precisa determinar quando ocorre um clique. |
|
Esse evento ocorre quando o usuário clica em um controle com o mouse.O manipulador deste evento recebe um argumento do tipo MouseEventArgs.Manipule neste evento quando precisar obter informações sobre o mouse quando ocorre um clique. |
|
Esse evento ocorre quando o controle é clicado duas vezes.O manipulador deste evento recebe um argumento do tipo EventArgs.Manipule neste evento quando você só precisa determinar quando ocorre um clique duplo. |
|
Esse evento ocorre quando o usuário clica duas vezes em um controle com o mouse.O manipulador deste evento recebe um argumento do tipo MouseEventArgs.Manipule neste evento quando precisar obter informações sobre o mouse quando ocorre um duplo clique. |
|
Esse evento ocorre quando o ponteiro do mouse está sobre o controle e o usuário pressiona um botão do mouse.O manipulador deste evento recebe um argumento do tipo MouseEventArgs. |
|
Esse evento ocorre quando o ponteiro do mouse entra na borda ou área cliente do controle, dependendo do tipo de controle.O manipulador deste evento recebe um argumento do tipo EventArgs. |
|
Esse evento ocorre quando o ponteiro do mouse para e permanece sobre o controle.O manipulador deste evento recebe um argumento do tipo EventArgs. |
|
Esse evento ocorre quando o ponteiro do mouse sai da borda ou área cliente do controle, dependendo do tipo de controle.O manipulador deste evento recebe um argumento do tipo EventArgs. |
|
Este evento ocorre quando o ponteiro do mouse se move enquanto ele está sobre um controle.O manipulador deste evento recebe um argumento do tipo MouseEventArgs. |
|
Este evento ocorre quando o ponteiro do mouse está sobre o controle e o usuário solta um botão do mouse.O manipulador deste evento recebe um argumento do tipo MouseEventArgs. |
|
Este evento ocorre quando o usuário gira a roda do mouse enquanto o controle tem foco.O manipulador deste evento recebe um argumento do tipo MouseEventArgs.Você pode usar a propriedade Delta de MouseEventArgs para determinar quanto o mouse foi rolado. |
Alterando a Entrada do Mouse e Detectando as Configurações do Sistema
Você pode detectar e alterar a maneira como um controle manipula a entrada do mouse derivando do controle e usando os métodos GetStyle e SetStyle.O método SetStyle utiliza um combinação bit a bit dos valores ControlStyles para determinar se o controle terá comportamento de clique padrão ou de clique duplo ou se o controle manipulará seu próprio processamento do mouse.Além disso, a classe SystemInformation inclui propriedades que descrevem os recursos do mouse e especificar como o mouse interage com o sistema operacional.A tabela a seguir resume estas propriedades.
Propriedade |
Descrição |
---|---|
Obtém as dimensões, em pixels, da área em que o usuário deve clicar duas vezes para o sistema operacional para considerar os dois cliques um clique duplo. |
|
Obtém o número máximo de milissegundos que pode passar entre um primeiro clique em e um segundo em para o sistema operacional para considerar a ação do mouse um clique duplo. |
|
Obtém o número de botões no mouse. |
|
Obtém um valor indicando se as funções dos botões esquerdo e direito do mouse foram trocadas. |
|
Obtém as dimensões, em pixels, do retângulo dentro do qual o ponteiro do mouse tem que ficar pelo tempo de foco do mouse antes que uma mensagem de foco do mouse seja gerada. |
|
Obtém o tempo, em milissegundos, que o ponteiro do mouse deve permanecer no retângulo de foco antes que uma mensagem de foco do mouse seja gerada. |
|
Obtém um valor indicando se um mouse está instalado. |
|
Obtém um valor indicando a velocidade do mouse atual, de 1 a 20. |
|
Obtém um valor indicando se um mouse com roda está instalado. |
|
Obtém o valor de incremento correspondente a uma única de rotação da roda do mouse. |
|
Obtém o número de linhas para rolar quando a roda do mouse for girada. |
Consulte também
Conceitos
Captura do Mouse em Formulários do Windows
Ponteiros do Mouse em Formulários do Windows