Using
Control.Dock
and
Control.Anchor
are how you can force controls to stay a certain distance away from its parent's edges, and you can use that to make GUIs that re-size nicely but I'm not sure that's what you're after.
How about one layout for a certain resolution and another layout for a different resolution? The
Screen[
^] class will tell you the resolution of what you're working on. You have to play around with you GUI to determine where you want your controls placed for each layout that you support, but once you know conceptually where you want things you can use the
Control.Location
and
Control.Size
properties to place them where you want and make them as big as you want based on the current Screen size.
An easier option is to set
AutoScroll
to
true
on your main form, amke your app as big as the screen if the screen is less than the expected size, and then the form will add scroll bars if not all of the controls are visible. The downside, of course, is that users will have to scroll to use your GUI.
That being said, I absolutely
loathe programs that don't support resizing. I think it's incredibly user hostile when the programmer thinks they know better than I do how to use the real estate on
my desktop. I'd recommend making your GUI re-sizable instead of locking it into one or several predefined sizes or adding scroll bars.