Porque é que o evento MouseMove disparando quando esquerdo do mouse é clicado apenas para o evento MouseDown?

StackOverflow https://stackoverflow.com/questions/8418738

Pergunta

Eu não sou totalmente a compreensão de como os eventos de trabalho ou Delphi Prism enlouqueceu!!!

Eu tenho um winform, evento mousedown e evento mousemove.Sempre que eu clique com o botão esquerdo do mouse apenas, evento MouseDown incêndios, como esperado, mas TAMBÉM o evento MouseMove é acionado para a direita, depois quando ele não é suposto.

Aqui está o trecho de código a partir do meu winform designer, onde os métodos são atribuídas a eventos.

  self.ClientSize := new System.Drawing.Size(751, 502);
  self.KeyPreview := true;
  self.Name := 'Maker';
  self.Text := 'Window Maker';
  self.Load += new System.EventHandler(@self.Maker_Load);
  self.FormClosing += new System.Windows.Forms.FormClosingEventHandler(@self.Maker_FormClosing);
  self.Shown += new System.EventHandler(@self.Maker_Shown);
  self.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(@self.Maker_MouseDoubleClick);
  self.MouseDown += new System.Windows.Forms.MouseEventHandler(@self.Maker_MouseDown);
  self.MouseMove += new System.Windows.Forms.MouseEventHandler(@self.Maker_MouseMove);
  self.MouseUp += new System.Windows.Forms.MouseEventHandler(@self.Maker_MouseUp);
  self.Paint += new System.Windows.Forms.PaintEventHandler(@self.Maker_Paint);
  self.ObjectPopup.ResumeLayout(false);
  self.ResumeLayout(false);

O que estou fazendo de errado?Por favor, ajudem estou ficando frustrada sobre isso, porque eu tenho mousemove eventos em outras partes do meu programa.Eles trabalham muito bem.Eu não consigo descobrir por que perticular o evento mousemove é agir em cima.

Foi útil?

Solução

Que eu esqueça a razão que acontece.

Mas para uma possível solução:

Point _LastPoint = Point.Empty;

private void Form1_MouseMove(object sender, MouseEventArgs e) {
  if (_LastPoint != e.Location) {
    _LastPoint = e.Location;
    // run MouseMove code:
  }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top