/// <summary>
 /// Overridable OnImageBoxImageLoaded event wrapper.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected virtual void OnImageBoxImageLoaded(object sender, ImageBoxEventArgs e)
 {
     if (ImageBoxImageLoaded != null)
         ImageBoxImageLoaded(sender, e);
 }
 /// <summary>
 /// Overridable OnImageBoxVisibilityChanged event wrapper.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected virtual void OnImageBoxVisibilityChanged(object sender, ImageBoxEventArgs e)
 {
     if (ImageBoxVisibilityChanged != null)
         ImageBoxVisibilityChanged(sender, e);
 }
 /// <summary>
 /// Overridable OnImageBoxMouseLeave event wrapper.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected virtual void OnImageBoxMouseLeave(object sender, ImageBoxEventArgs e)
 {
     if (ImageBoxMouseLeave != null)
         ImageBoxMouseLeave(sender, e);
 }
 /// <summary>
 /// Overridable OnImageBoxMouseEnter event wrapper.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected virtual void OnImageBoxMouseEnter(object sender, ImageBoxEventArgs e)
 {
     if (ImageBoxMouseEnter != null)
         ImageBoxMouseEnter(sender, e);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void imgbx_MainImage_ImageBoxMouseLeave(object sender, ImageBoxEventArgs e)
 {
     // Hide the mouse position label.
     tssl_MousePosition.Visible = false;
     
     if (CurrentTool != Tool.None)
         imgbx_MainImage.Cursor = Cursors.Default;
 }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void imgbx_MainImage_ImageBoxMouseEnter(object sender, ImageBoxEventArgs e)
        {
            // Show the mouse position label.
            tssl_MousePosition.Visible = true;

            // Update the cursor if a tool has been selected.
            switch (CurrentTool)
            {
                case Tool.EyeDropper:
                    imgbx_MainImage.Cursor =
                        Tools.CreateCursor(Resources.EyeDropperCursor);
                    break;
                case Tool.RedEyeCorrection:
                    imgbx_MainImage.Cursor =
                        Tools.CreateCursor(Resources.RedEyeCursor);
                    break;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void imgbx_MainImage_ImageBoxImageLoaded(object sender, ImageBoxEventArgs e)
        {
            SubUpdateControlsOnImageLoad();

            SubScaleDisplayImage(m_nImageScale);
        }