diff --git a/src/System.Windows.Forms/PublicAPI.Unshipped.txt b/src/System.Windows.Forms/PublicAPI.Unshipped.txt index e69de29bb2d..d9a512fedca 100644 --- a/src/System.Windows.Forms/PublicAPI.Unshipped.txt +++ b/src/System.Windows.Forms/PublicAPI.Unshipped.txt @@ -0,0 +1 @@ +override System.Windows.Forms.TrackBar.OnSizeChanged(System.EventArgs! e) -> void diff --git a/src/System.Windows.Forms/System/Windows/Forms/Controls/TrackBar/TrackBar.cs b/src/System.Windows.Forms/System/Windows/Forms/Controls/TrackBar/TrackBar.cs index eea2d4b47d2..554be258dc1 100644 --- a/src/System.Windows.Forms/System/Windows/Forms/Controls/TrackBar/TrackBar.cs +++ b/src/System.Windows.Forms/System/Windows/Forms/Controls/TrackBar/TrackBar.cs @@ -793,7 +793,7 @@ private void DrawTicksManually() } PInvokeCore.SendMessage(this, PInvoke.TBM_CLEARTICS, (WPARAM)1, (LPARAM)0); - for (int i = _minimum + drawnTickFrequency; i < _maximum - drawnTickFrequency; i += drawnTickFrequency) + for (int i = _minimum + drawnTickFrequency; i <= _maximum - drawnTickFrequency; i += drawnTickFrequency) { LRESULT lresult = PInvokeCore.SendMessage(this, PInvoke.TBM_SETTIC, lParam: (IntPtr)i); Debug.Assert((bool)(BOOL)lresult); @@ -999,6 +999,27 @@ protected override void OnSystemColorsChanged(EventArgs e) RedrawControl(); } + protected override void OnSizeChanged(EventArgs e) + { + base.OnSizeChanged(e); + + if (!IsHandleCreated) + { + return; + } + + bool recreateHandle = ShouldRecreateHandle(); + if (recreateHandle) + { + RecreateHandle(); + } + else if (!_autoDrawTicks) + { + DrawTicksManually(); + Invalidate(); + } + } + /// /// Overrides Control.SetBoundsCore to enforce auto sizing. ///