private void PanButton_MouseDown(object sender, MouseEventArgs e) { if (e.Button != MouseButtons.Left) { return; } var ctrl = (Control)sender; var adjustement = (ImageAlignAdjustement)ctrl.Tag; _lastClickType = adjustement; //First adjustement immediatly when the button is down, before the delay is considered. DoAdjustement(adjustement); tmrScrollDelay.Start(); }
public AlignImageEventArgs(ImageAlignAdjustement alignButtonClick) { AlignButtonClicked = alignButtonClick; }
private void DoAdjustement(ImageAlignAdjustement adjustementType) { if (PannablePictureBox != null) { switch (adjustementType) { case ImageAlignAdjustement.LeftAlign: PannablePictureBox.AlignLeft(); break; case ImageAlignAdjustement.BottomAlign: PannablePictureBox.AlignBottom(); break; case ImageAlignAdjustement.RightAlign: PannablePictureBox.AlignRight(); break; case ImageAlignAdjustement.TopAlign: PannablePictureBox.AlignTop(); break; case ImageAlignAdjustement.XAlign: PannablePictureBox.AlignXMiddle(); break; case ImageAlignAdjustement.YAlign: PannablePictureBox.AlignYMiddle(); break; case ImageAlignAdjustement.NudgeUp: PannablePictureBox.Nudge(y: -1); break; case ImageAlignAdjustement.NudgeDown: PannablePictureBox.Nudge(y: 1); break; case ImageAlignAdjustement.NudgeLeft: PannablePictureBox.Nudge(-1); break; case ImageAlignAdjustement.NudgeRight: PannablePictureBox.Nudge(1); break; case ImageAlignAdjustement.Center: PannablePictureBox.CenterImage(); break; case ImageAlignAdjustement.None: return; default: throw new ArgumentOutOfRangeException(nameof(adjustementType), adjustementType, null); } SetPositionText(); ImageLocationChanged?.Invoke(this, new AlignImageEventArgs(adjustementType)); } }