private void MenuItem_Zoom_Click(object sender, EventArgs e) { try { zoomOption = ZoomOption.MouseMove; if (sender == MenuItem_ZoomFitSize) { FitSize(true); } else if (sender == MenuItem_ZoomFullSize) { FullSize(true); } else { SetScrollBarLocationBeforeZoom(); string value_Str = ((ToolStripMenuItem)sender).Text; float zoomValue = float.Parse(Regex.Match(value_Str, @"\d+").Value); zoomValue = zoomValue / 100; SetZoom(zoomValue); } } catch (Exception ex) { VisionLogger.Log(WaftechLibraries.Log.LogType.Exception, sender.ToString(), ex); VisionNotifier.AddNotification(ex.Message); } }
private void ImagePanel_winform_MouseDown(object sender, MouseEventArgs e) { zoomOption = ZoomOption.MouseDown; double imagePosX = (e.X + hScrollBar1.Value) / zoom_Current; double imagePosY = (e.Y + vScrollBar1.Value) / zoom_Current; ImagePosX_mouseDown = imagePosX; ImagePosY_mouseDown = imagePosY; if (e.Button == System.Windows.Forms.MouseButtons.Left) { StartingPoint = e.Location; isDrag_ = true; isNewClick_ = true; foreach (Action <object, double, double, MouseEventArgs> action in MouseLeftDownActions_) { action?.Invoke(sender, imagePosX, imagePosY, e); } } if (e.Button == MouseButtons.Right) { } }
private void ZoomInOrOutMap(ZoomOption zoomOption) { var message = zoomOption == ZoomOption.ZoomIn ? new ExtentChangedMessage(ExtentChangedReason.ZoomIn) : new ExtentChangedMessage(ExtentChangedReason.ZoomOut); MessengerInstance.Send(message); }
private void OnScrollBar_Scroll(object sender, ScrollEventArgs e) { this.zoomOption = ZoomOption.Scroll; Invalidate(); }
private void ImagePanel_winform_MouseWheel(object sender, MouseEventArgs e) { zoomOption = ZoomOption.MouseMove; // If control key is pressed, ZOOM in or out if ((System.Windows.Input.Keyboard.Modifiers & System.Windows.Input.ModifierKeys.Control) > 0) { // Change ScrollBar Value Based on mouse hover location try { // Don't zoomIn if already maximum if (e.Delta > 0 && zoom_Current == zoom_Maximum) { return; } // Don't zoomOut if already minimum if (e.Delta < 0 && zoom_Current == zoom_Minimum) { return; } VScrollBarPosRatio = ((double)e.Y + vScrollBar1.Value) / (imageHeight_ * zoom_Current); vScrollBar1.Value = (int)Math.Round(VScrollBarPosRatio * vScrollBar1.Maximum, 0); HScrollBarPosRatio = ((double)e.X + hScrollBar1.Value) / (imageWidth_ * zoom_Current); hScrollBar1.Value = (int)Math.Round(HScrollBarPosRatio * hScrollBar1.Maximum, 0); } catch { } // Wheel up, zoom out if (e.Delta > 0) { IncreaseSize(false); } else { DecreaseSize(false); } } // if control key is not pressed else { if (vScrollBar1.Visible) { // Wheel up, Scroll up if (e.Delta > 0) { if (vScrollBar1.Value - vScrollBar1.SmallChange >= vScrollBar1.Minimum) { vScrollBar1.Value -= vScrollBar1.SmallChange; } else { vScrollBar1.Value = vScrollBar1.Minimum; } } // Wheel down, Scroll down else { if (vScrollBar1.Value + vScrollBar1.SmallChange <= vScrollBar1.Maximum) { vScrollBar1.Value += vScrollBar1.SmallChange; } else { vScrollBar1.Value = vScrollBar1.Maximum; } } Invalidate(); } } }