Почему событие MouseMove, когда левая мышь нажала только для мероприятия Mousedown?
-
29-10-2019 - |
Вопрос
Либо я не полностью понимаю, как события работают или дельфи призма сошло с ума !!!
У меня есть пробега, мероприятие Mousedown и MouseMove.Всякий раз, когда я щелкнул только левую кнопку мыши только, события Mousedown, как и ожидалось, но также также опускается события, когда он не должен, когда он не должен.
Вот кусок кода из моего дизайнера WinForm, где методы назначены событиям.
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);
.
Что я делаю не так?Пожалуйста, помогите мне расстроить это, потому что у меня есть события MouseMove в других частях моей программы.Они работают нормально.Я не могу понять, почему этот предыдущий мероприятие MouseMove действует вверх.
Решение
Я забыл причину, которая происходит.
Но для возможной работы вокруг:
Point _LastPoint = Point.Empty;
private void Form1_MouseMove(object sender, MouseEventArgs e) {
if (_LastPoint != e.Location) {
_LastPoint = e.Location;
// run MouseMove code:
}
}
. Не связан с StackOverflow