diff --git a/ShareX.HelpersLib/Forms/ImageViewer.cs b/ShareX.HelpersLib/Forms/ImageViewer.cs index f92d78be2..d2760dad1 100644 --- a/ShareX.HelpersLib/Forms/ImageViewer.cs +++ b/ShareX.HelpersLib/Forms/ImageViewer.cs @@ -38,11 +38,10 @@ public class ImageViewer : Form public bool CanNavigate => Images != null && Images.Length > 1; public bool CanNavigateLeft => CanNavigate && (SupportWrap || CurrentImageIndex > 0); public bool CanNavigateRight => CanNavigate && (SupportWrap || CurrentImageIndex < Images.Length - 1); + public float NavigationAreaSize { get; set; } = 0.1f; public string[] Images { get; private set; } public int CurrentImageIndex { get; private set; } - private float navigationAreaSize = 0.1f; - private ImageViewer(Image img) { InitializeComponent(); @@ -212,11 +211,11 @@ private void ImageViewer_Deactivate(object sender, EventArgs e) private void pbPreview_MouseDown(object sender, MouseEventArgs e) { - if (CanNavigateLeft && e.Location.X < ClientSize.Width * navigationAreaSize) + if (CanNavigateLeft && e.Location.X < ClientSize.Width * NavigationAreaSize) { NavigateImage(-1); } - else if (CanNavigateRight && e.Location.X > ClientSize.Width * (1 - navigationAreaSize)) + else if (CanNavigateRight && e.Location.X > ClientSize.Width * (1 - NavigationAreaSize)) { NavigateImage(1); } @@ -228,11 +227,13 @@ private void pbPreview_MouseDown(object sender, MouseEventArgs e) private void pbPreview_MouseMove(object sender, MouseEventArgs e) { - if (CanNavigateLeft && e.Location.X < ClientSize.Width * navigationAreaSize) + lblStatus.Visible = CanNavigate && !new Rectangle(lblStatus.Location, lblStatus.Size).Contains(e.Location); + + if (CanNavigateLeft && e.Location.X < ClientSize.Width * NavigationAreaSize) { Cursor = Cursors.PanWest; } - else if (CanNavigateRight && e.Location.X > ClientSize.Width * (1 - navigationAreaSize)) + else if (CanNavigateRight && e.Location.X > ClientSize.Width * (1 - NavigationAreaSize)) { Cursor = Cursors.PanEast; } @@ -283,6 +284,11 @@ private void pbPreview_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) } } + private void lblStatus_MouseEnter(object sender, EventArgs e) + { + lblStatus.Visible = false; + } + #region Windows Form Designer generated code private System.ComponentModel.IContainer components = null; @@ -338,6 +344,7 @@ private void InitializeComponent() pbPreview.MouseWheel += pbPreview_MouseWheel; pbPreview.KeyDown += pbPreview_KeyDown; pbPreview.PreviewKeyDown += pbPreview_PreviewKeyDown; + lblStatus.MouseEnter += lblStatus_MouseEnter; ResumeLayout(false); }