The best approach to this is the combination of the properties
System.Windows.Forms.Controls.Dock
and
System.Windows.Forms.Controls.Padding
. In certain cases,
Anchor
is also helpful, but use it with care, as it tends to cause more flicker (essentially, main reason for it is that some native Windows controls wrapped as Forms control classes are very old; they were created when computer performance was no good enough to allow for effective measures against flicker).
Basically, all the design is based on many panels nested in required way, with other controls docked in leaves of such panel tree,
without the use of
System.Windows.Forms.DockStyle.None
.
In my past answer, I provided a rudimentary code sample to illustrate the idea:
how to dock button so that it can adjust with the form[
^].
Please see also:
Zom Out malfunctions when Screen resolution changes[
^],
GUI Apperance - C#.Net[
^].
—SA