Skip to content

Commit dfceb98

Browse files
committed
Get rid of an unexpected white line above the status strip due to a changed (#12646)
* Changing the renderMode to System when the StatusStrip was selected * Add publicAPI * Removing the override function "Select" * Remove StatusStrip.Select from PublicAPI.Unshipped.txtRemovinf
1 parent 474a4ea commit dfceb98

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

src/System.Windows.Forms/src/System/Windows/Forms/Controls/ToolStrips/StatusStrip.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@ public StatusStrip()
2929
SuspendLayout();
3030
CanOverflow = false;
3131
LayoutStyle = ToolStripLayoutStyle.Table;
32-
33-
// Default changed for SystemColorMode from System to ManagerRenderMode.
34-
// Also to be consistent to the MenuStrip.
35-
RenderMode = ToolStripRenderMode.ManagerRenderMode;
32+
RenderMode = ToolStripRenderMode.System;
3633
GripStyle = ToolStripGripStyle.Hidden;
3734

3835
SetStyle(ControlStyles.ResizeRedraw, true);
@@ -363,6 +360,17 @@ protected override void OnLayout(LayoutEventArgs levent)
363360
EnsureRightToLeftGrip();
364361
}
365362

363+
internal override void ResetRenderMode()
364+
{
365+
RenderMode = ToolStripRenderMode.System;
366+
}
367+
368+
internal override bool ShouldSerializeRenderMode()
369+
{
370+
// We should NEVER serialize custom.
371+
return (RenderMode is not ToolStripRenderMode.System and not ToolStripRenderMode.Custom);
372+
}
373+
366374
internal override bool SupportsUiaProviders => true;
367375

368376
protected override void SetDisplayedItems()

src/System.Windows.Forms/tests/UnitTests/System/Windows/Forms/StatusStripTests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -556,18 +556,18 @@ public void StatusStrip_RenderMode_ResetValue_Success()
556556

557557
control.RenderMode = ToolStripRenderMode.System;
558558
Assert.Equal(ToolStripRenderMode.System, control.RenderMode);
559-
Assert.True(property.CanResetValue(control));
559+
Assert.False(property.CanResetValue(control));
560560

561561
control.Renderer = new SubToolStripRenderer();
562562
Assert.Equal(ToolStripRenderMode.Custom, control.RenderMode);
563563
Assert.False(property.CanResetValue(control));
564564

565565
control.RenderMode = ToolStripRenderMode.ManagerRenderMode;
566566
Assert.Equal(ToolStripRenderMode.ManagerRenderMode, control.RenderMode);
567-
Assert.False(property.CanResetValue(control));
567+
Assert.True(property.CanResetValue(control));
568568

569569
property.ResetValue(control);
570-
Assert.Equal(ToolStripRenderMode.ManagerRenderMode, control.RenderMode);
570+
Assert.Equal(ToolStripRenderMode.System, control.RenderMode);
571571
Assert.False(property.CanResetValue(control));
572572
}
573573

@@ -584,18 +584,18 @@ public void StatusStrip_RenderMode_ShouldSerializeValue_Success()
584584

585585
control.RenderMode = ToolStripRenderMode.System;
586586
Assert.Equal(ToolStripRenderMode.System, control.RenderMode);
587-
Assert.True(property.ShouldSerializeValue(control));
587+
Assert.False(property.ShouldSerializeValue(control));
588588

589589
control.Renderer = new SubToolStripRenderer();
590590
Assert.Equal(ToolStripRenderMode.Custom, control.RenderMode);
591591
Assert.False(property.ShouldSerializeValue(control));
592592

593593
control.RenderMode = ToolStripRenderMode.ManagerRenderMode;
594594
Assert.Equal(ToolStripRenderMode.ManagerRenderMode, control.RenderMode);
595-
Assert.False(property.ShouldSerializeValue(control));
595+
Assert.True(property.ShouldSerializeValue(control));
596596

597597
property.ResetValue(control);
598-
Assert.Equal(ToolStripRenderMode.ManagerRenderMode, control.RenderMode);
598+
Assert.Equal(ToolStripRenderMode.System, control.RenderMode);
599599
Assert.False(property.ShouldSerializeValue(control));
600600
}
601601

0 commit comments

Comments
 (0)