none
Thread, início. RRS feed

  • Pergunta

  • Bom, estou começando com thread, e gostaria de fazer o seguinte:

    Existe um fluxo principal que pega a posição do mouse na tela, o que quero fazer é um thread para verificar se há tendência do mouse para cima ou para baixo.
    Se estiver indo para cima, mostra em um label a frase "Mouse para cima" se mudar de direção "Mouse para baixo".

    Como posso implementar isso ?

    Obrigado.
    Ninguém é tão sábio que não possa aprender e nem tão tolo que não possa ensinar.
    quarta-feira, 7 de outubro de 2009 20:08

Respostas

  • Boa noite Julio.

    Bom, nesse caso específico, não existe necessidade de usar threads. Para essa tarefa você precisa fazer o seguinte:

    1 - Crie um novo projeto Windows Application.

    2 - Adicione uma variável privada ao seu form:

    private Int32 _y;

    3 - Adicione um evento MouseMove ao seu form com o seguinte código:

    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
          if (e.Y > _y)
                label1.Text = "Mouse movido para baixo";
          else if (e.Y < _y)
                label1.Text = "Mouse movido para cima";
    
          this._y = e.Y;
    }

    O evento MouseMove é disparado cada vez que o cursor muda de posição.

    O código incluido no método Form1_MouseMove verifica se a posição Y do cursor é maior ou menor do que a posição anterior. Indicamos através da label se o mouse foi movido para cima ou para baixo e armazenamos a posição atual na variável privada _y. Armazenando esse valor, poderemos comparar como próximo movimento se o mouse foi movido para cima ou para baixo.

    Abraço.
    quarta-feira, 7 de outubro de 2009 23:11