C# - Horgony (Anchor) használata

forráskód letöltése
Amikor egy Form mérete változik, vagy azért mert a felhasználó átméretezi, vagy azért mert az ugyan teljes képernyős, de az adott felhasználónál más a felbontása a képernyőnek, mint a program fejlesztésénél, akkor nem mindegy, hogy az egyes kontrolok hogyan helyezkednek el a Form-on. Például ha fejlesztési időben egy gombot a Form jobb alsó sarkához igazítottunk, de változik a Form mérete, akkor jogos igény, hogy a gomb továbbra is a jobb alsó sarokhoz legyen igazítva. Alapértelmezés szerint azonban a gomb marad ott ahová tettük, így átméretezéskor a gomb nem követi a Form jobb alsó sarkát; az ilyen eredmény pedig nem túl szép látvány.
Megoldandó ezt a problémát a kontrolok Anchor nevű property-ét kell igényeinknek megfelelően alkalmazni.
Ennél a property-nél kiválaszthatjuk, hogy az aktuálisan kijelölt kontrol a Form lehetséges négy széléhez képest merre legyen „lehorgonyozva”. Alapértelmezett a bal felső sarok, így ha felteszünk a Form-ra egy komponenst, akkor annak pozíciója és mérete nem változik a Form méretezése közben.
Mellékelt példában egy nyomógombot tettünk a jobb alsó sarokba, majd az Anchor property-n keresztül a jobb alsó sarokhoz kötöttük azt. Így amikor a Form átméretezésre kerül a gomb mindig a jobb alsó sarokban marad.
Elhelyeztünk egy textBox-ot is Form-on. Ennél mind a lehetséges négy irányt kiválasztottuk az Anchor property-ben. Ezzel azt értük el, hogy bár a komponens továbbra is a bal felső sarokhoz lesz igazítva, de a szélessége és magassága automatikusan változik oly módon, hogy jobb alsó sarka és a Form jobb alsó sarka közötti távolság nem fog változni.
Megfigyelhető, hogy ha az Anchor property-nél vízszintes, vagy függőleges irányban két irány is ki lesz jelölve, ezzel azt érjük el, hogy vagy a szélessége, vagy a magassága változik az adott komponensnek. Jó példa erre a Form-on elhelyezett piros és zöld színű Panel komponens.