[C#] Skalowanie formy

Witam

Chciałbym przeskalować formę ale nie zwykłym Anchorem gdyż po zmniejszeniu formy do zbyt małych rozmiarów np. przycisk po prostu znika. Mam pomysł na zasadzie w zdarzeniu formy Resize zapamiętać poprzedni rozmiar (o ile da się odczytać pierwotny rozmiar bo nie widzę w argumentach takiej zmiennej), następnie wczytać nowy rozmiar, wyliczyć aspectRatio a następnie według nowego rozmiaru przelecieć pętlą po wszystkich kontrolkach, ustawić Size i Location przemnożone przez AspectRatio dla X i Y, i zmienić rozmiar czcionki ewentualnie. Ma ktoś jakieś gotowe rozwiązanie lub pomysł jak odczytać rozmiar przed rozszerzeniem czy zmniejszeniem? Bo teoretycznie to powinno być tak że ja przy starcie robię sobie zmienną Actual_Size, a następnie ją modyfikuje po zdarzeniu Resize i według niej dalej pracuję. Niech ktoś mądry się wypowie. Na pierwszy rzut oka widzę że z radioBox i checkBox się tak nie da. Pewnie mój plan się nie uda.

Skalowanie w Windows Forms odbywa się automatycznie (łatwo to sprawdzić, zmień po prostu rozdzielczość ekranu). Rozumiem jednak co próbujesz osiągnąć, ale może zamiast tego lepiej będzie jeśli ustawisz właściwość MinimumSize Form-y?