Search code examples
c#winformsstatusstripgriptoolstripstatuslabel

How do I reclaim the space from the "Grip"


I've got a StatusStrip with a single ToolStripStatusLabel, Spring=true and a background color for notifications.

The problem is that there's an ugly gray square on the right side of the status strip. After fiddling for a while, I realized this is the sizing grip (I had is set to SizingGrip=false, GripStyle=Hidden). Yet even with it hidden, it still hogs the space. I can't get any content on the status strip to extend all the way to the right.

How would you work around this? Note I can't just set the backcolor of the StatusStrip because the Status Label changes colors and has some fading effects.


Solution

  • The StatusStrip.Padding property is borked, it returns the wrong value for Padding.Right if the sizing grip is disabled. You can fix it in your form constructor, like this:

    public Form1() {
      InitializeComponent();
      statusStrip1.Padding = new Padding(statusStrip1.Padding.Left,
        statusStrip1.Padding.Top, statusStrip1.Padding.Left, statusStrip1.Padding.Bottom);
    }
    

    Using the Left property to specify Right is the fix. Don't bother submitting this bug to Connect, they won't fix it.