I am using Visual Basic.NET 2003 to create a windows forms app using MDI. The application is completed, installed, and working great on 6 Windows 2000 pro machines. It works great on 5, but looks completely screwed up on the 6th. All of the machines have .NET framework 1.1.4322 and are Windows 2000 pro.
I have screenshots of the problem posted at:
http://thinkscript.net/screenshots.aspx
Any help is appreciated
email (remove "NOSPAM-")
michael@NOSPAM-thinkscript.net

Why does my MDI Windows Forms app look so screwed up?
rimathakkar
http://msdn.microsoft.com/library/default.asp url=/library/en-us/dnforms/html/winforms12102002.asp
The problem you're likely seeing is some bad scaling when someone has turned on large fonts on their computer.
Essentially this work is done when the Form loads... in OnLoad of the form, the system font is snapped, and if autoscale is set to true then the form checks to see if the current system font matches the font the form was designed at. (this is what AutoScaleBaseSize means in InitializeComponent.)
If the font size does not match, then the form is scaled (bigger or smaller) as the case may be. There is a function called ScaleCore() which essentially scales the size of the control and all it's children by some factor.
If you are using the anchor property to anchor controls to both the left and the right side, autoscale can interfere with the layout of the control. This is because the parent is resized first - thus forcing a layout to resize the child, then the child control is scaled. The best way to work around that is to override OnLoad of your form, unanchor the left,right anchored controls, call base.OnLoad() then re-anchor the left,right anchored controls.
The other thing you can do is override ScaleCore and do the work yourself to calculate how big you want everything. This (via ApplyAutoScaling) in Form.OnLoad.
Anyways, hope there are some things for you to try out here.
Jessica