From d63452813a2fb144501b03afdfb919bfe5c7ec80 Mon Sep 17 00:00:00 2001 From: Tim Young Date: Thu, 17 Aug 2017 17:27:22 -0500 Subject: [PATCH] Impose a small delay in centering items. Makes it work smoother when simply right-clicking to do a menu or something. --- EduNetworkBuilder/NetworkBuilder.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/EduNetworkBuilder/NetworkBuilder.cs b/EduNetworkBuilder/NetworkBuilder.cs index d5cac77..c90f067 100644 --- a/EduNetworkBuilder/NetworkBuilder.cs +++ b/EduNetworkBuilder/NetworkBuilder.cs @@ -33,6 +33,7 @@ namespace EduNetworkBuilder private Point ClickedLocation; private Point ClickedImageLocation; DateTime LastClick = DateTime.Now; + DateTime LastMouseDown = DateTime.Now; private string LastPath = ""; private bool processing = false; private List PuzzleList = new List(); @@ -1273,6 +1274,7 @@ namespace EduNetworkBuilder //See if we have clicked on something ItemClickedOn = myNetwork.ItemAtPosition(location); MouseIsDown = true; + LastMouseDown = DateTime.UtcNow; //Make a duplicate of the old background image. LastBackgroundImage = new Bitmap(pbNetworkView.BackgroundImage); } @@ -1330,7 +1332,9 @@ namespace EduNetworkBuilder else if (MouseIsDown && LastBackgroundImage != null && ItemClickedOn != null && ItemsSelected.Count == 0) //We are trying to drag something { //find where we are - DragItemToNewLocation(ItemClickedOn, CenteredLocation); + TimeSpan HowLong = DateTime.UtcNow - LastMouseDown; + if(HowLong.TotalMilliseconds > 100) + DragItemToNewLocation(ItemClickedOn, CenteredLocation); } else if (MouseIsDown && ItemsSelected.Count >0) //dragging multiple items around {