وقتی دکمه ماکسیمایز فرم زده میشه در سی شارپ جای اشیا روی فرم توحالت قبلی می مونه چطور مشکلو حل کنم؟
با Anchor، کنترل ها (اشیاء روی فرم) یک مشخصه دارند به نام Anchor که موقعی که ابعاد پنجره Parent شون
تغییر می کنه مشخص کننده نقطه یا نقاط مبدا هستند. می توانید Anchor را در لیست پنجره Properties
هر کنترل ببینید. اگر کنترل را مستقیما داخل خود فرم قرار دهید منظور از Parent خود فرم است، اما اگر کنترل
را داخل کنترل دیگری (مثلا Panel یا GroupBox) قرار دهید منظور از Parent همان کنترل پشتی است.
بصورت پیشفرض مقدار Anchor برابر با Top, Left است، یعنی نقطه بالا، سمت چپ کادر کنترل، نقطه مبدا خواهد بود.
تنظیم Anchor ترکیبی از مقادیر Top و Bottom و Left و Right است. شما باید بر اساس اینکه فلان کنترل
باید موقعیت اش ثابت باشد یا طول و عرض اش تغییر کند مقدار Anchor آن کنترل را تنظیم کنید.
Top, Left
ابعاد کنترل ارتباطی با ابعاد Parent اش ندارد و ثابت خواهد ماند. فاصله کنترل با سمت چپ و بالای Parent اش
ثابت حفظ می شود. به عنوان مثال در فرم ها نگاهی به منوی File بیاندازید. هر چقدر که فرم بزرگتر یا کوچکتر شود
منوی File از بالا و سمت چپ فرم فاصله ثابتی دارد.
Top, Right
ابعاد کنترل ارتباطی با ابعاد Parent اش ندارد و ثابت خواهد ماند. فاصله کنترل با سمت راست و بالای Parent اش
ثابت حفظ می شود. به عنوان مثال در فرم ها نگاهی به آیکون Close و Minimize بیاندازید. هر چقدر که فرم بزرگتر یا
کوچکتر شود این دکمه ها از بالا و سمت راست فرم فاصله ثابتی دارند.
Top
ابعاد کنترل ارتباطی با ابعاد Parent اش ندارد و ثابت خواهد ماند. فاصله کنترل با سمت بالای Parent اش
ثابت حفظ می شود اما فاصله از سمت چپ و راست تغییر می کند. معمولا در مورد کنترل هایی استفاده می شود
که بخواهند بصورت افقی در وسط باقی بماند.
Top, Left, Right
ارتفاع کنترل و فاصله از بالای Parent ثابت خواهد ماند اما اندازه افقی کنترل با تغییر ابعاد Parent اش تغییر می کند.
مثلا در منوی بالای فرم ها درازی منو متناسب با فرم تغییر می کند.
Top, Bottom, Left, Right
ابعاد کنترل بر اساس ابعاد Parent اش تغییر می کند تا فاصله از کناره های Parent ثابت حفظ شود. به عنوان مثال
در پنجره Notepad یک کنترل TextBox وجود دارد که ابعاد اش بر اساس ابعاد فرم مشخص می شود.
و ...