Du brauchst die Höhe von deinem Formular. Zum Beispiel lFenstergroesse
Dann gibst du nicht den Top-Wert mit 120 an sondern immer in Bezug
auf das höherliegende Tool.
Zum Beispiel du hast oben ein Label und eine Textbox.
Die kannst du so lassen, weil die ja immer oben sind.
Dann folgt ein Grid. Da musst du dich entscheiden,
in welchem Verhältnis das vergrößert werden soll.
Enweder du nimmst dir eine Varable zur Hilfe der alten Größe
und berechnest dann das Verhältnis zur neuen Größe,
oder du sagst gleich, es ist ein viertel der Festergröße.
Private lFenstergroesse as long
Private Form_Load()
lFenstergroesse = me.height
End Sub
Private form_resize()
'Variante 1
Grid.Height = Grid.Height * Me.Height / lFenstergroesse
lFenstergroesse = Me.Height
'Variante 2
Grid.Height = Me.Height / 4
End Sub
Dann folgt ein TextFeld, dessen Top du mit Grid.Top + Grid.Height + x angeben musst.
Dann noch ein Grid, dessen Top = Textfeld.Top + Textfeld.Height + x ist.
Und dessen Höhe so wie beim ersten berechnet wird.
Und so weiter und so weiter...
Alles eine Sache des Ausprobierens, da wirst du nicht drumherum kommen.
(Mir macht das immer Spaß!)
Bei weiteren Fragen, einfach posten! :bimei :bimei