为什么鼠标左鼠标仅为Mousedown事件点击时触发?
-
29-10-2019 - |
题
要么我并不完全了解事件工作或德尔福棱镜已经发疯!!!
我有一个winorm,mousedown活动和mousemove活动。每当我单击鼠标左键时,Mousedown事件会按预期触发,但在不设法的时候也是Mousemove事件发生火灾。
这是我的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活动。他们工作很好。我似乎无法弄清楚为什么这种矛盾的事件表演。
解决方案
我忘记了发生的原因。
但是对于各种各样的工作:
Point _LastPoint = Point.Empty;
private void Form1_MouseMove(object sender, MouseEventArgs e) {
if (_LastPoint != e.Location) {
_LastPoint = e.Location;
// run MouseMove code:
}
}
. 不隶属于 StackOverflow