Thursday, August 18, 2011

StatusStrip missing windows c# mdi windows forms application

All of a sudden the status bar in our MDI windows forms application is lost when you resize the form smaller.

Here is the scenrario

MDI Parent -  Has a StatusStrip that contains 3 ToolStripLabels that has spring property set to false.

MDI Child - Has a StatusStrip that contains 1 ToolStripLabel that has spring property set to true.MDI Child form size is 1280 x 1024 (design time).

In the mdi child activate event of the mdi parent , the statusstrip from the mdi child is merged into the statusstrip of the mdi parent using the ToolStripManager.Merge method.

It seems the problem is "toolstriplabel" in mdi child spring is set to true and the width of the toolstriplablel is close to 1280(form width).So when you resize your mdi parent smaller than the design width of the toolstriplabel is trying to steal the 1280 width, as it is not available it went some where, also it is pushing the labels in the mdi area go out of the visible area.

To fix this problem ;
1.make the toolstriplabel spring to false and make it smaller(min width that your form can go)
2.merge the statusstrips
3.set the spring property of the toolstrip label(from the mdi child) in the mdi parent after you do the merge to TRUE.

Hope this helps some one out there.!!!


No comments:

Post a Comment