PDA

نسخه کامل مشاهده نسخه کامل : تغییر اندازه فرم و کامپوننت ها



Mohammad_HNF
04-01-2018, 17:11
سلام خدمت دوستان
من یه سوال داشتم خدمتتون
توی برنامه زمانی که من فرم خودمو تغییر اندازه میدم (در حالت اجرا)
کامپوننت های موجود در فرمم به اندازی قبلی خود میمانند(اندازه آنها تغییر نمیکند)
میخواستم بدونم کتابخانه هست که بتونم باهاش به نسبت این تغییر اندازه فرمم اندازه کامپوننت های روی فرمم تغییر کنه
یا اینکه باید کد دستی بزنم؟؟؟؟
ممنون میشم کمکم کنید :n16:

_H2_
07-01-2018, 23:15
سلام
خبر خوب آن است که نیاز به کدنویسی و ابزار اضافه ای نیست !
شما فقط باید به شیوه صحیح از کنترلرهای Container (ظرف) موجود استفاده کنید.
اصطلاحا Layout بندی هم گفته میشود.

بطور نمونه در WinForm میتوانید از Panel یا TableLayoutPanel به همراه خصایص Padding و Dock استفاده کنید.

=====

با خصیصه Dock میتوانید کنترلرها را به چهار طرف "ظرف" بچسبانید.
این جریان میتواند به ترتیب و سلسه مراتبی ادامه یابد.
با فرامین Bring To Front و Send To Back میتوانید ترتیب جایگیری عناصر را مشخص کنید.
در نظر بگیرید، یک فضای مستطیلی داریم، اولین کنترل میتواند قلاب شدن به سمت Left-Top-Right-Bottom را انتخاب کند و بچسبد...
مجدد یک فضای مستطیلی از ته مانده قبلی باقی می ماند و کنترلر بعدی میتواند قلاب شدن ...
مجدد یک فضای ...
آخرین کنترلر برای پرکردن کل فضای مرکزی باقی مانده میتواند Dock=Fill باشد.

دنبال تصویر میگشتم، این صفحه را یافتم،حداقل نگاهی به تصاویر کنید.
ولی یادتان باشد الگوی واقعی Dock میتوانید خیلی پیچیده تر از این تصاویر باشد.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

=====

یا کنترلر TableLayoutPanel فضای خود را به یک شبکه Table/Grid با سطر و ستون میشکند.

هر سطر و ستون میتواند ابعاد درصدی و یا پیکسل (ثابت) داشته باشد.

کنترلرهای داخل این شبکه Table/Grid میتوانند به دلخواه در یک یا چند سلول پشت سر هم جای-گیری کنند.

مجدد خود بچه-کنترلرها میتوانند در سلول های خود Dock شوند.

برای نمونه به این صفحه دقت کنید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

=====

تسلط بر Layout بندی صحیح و کامل یک فرم، کمی زمان میبرد و تجربه نیاز دارد.
اگر در هر فرم کوچکی ، تلاش کنید Layout بندی را رعایت کنید و فرم تان صحیح بزرگ و کوچک شود، شاید اولش کمی سخت باشد ولی بزودی به آن عادت کرده و حتی معتاد رعایت اصولش میشوید.

=====

خوشبختانه در پروژه های جدید WPF این مفاهیم بسیار پیشرفت کرده و کامل تر شده اند و حتی "ظرف" های خیلی متنوع تری با قابلیت های بیشتری داریم.
که فعلا چون گمان میکنم ، مشکل تان نیست ، در زمان صرفه جویی کرده و توضیح نمیدهم.
موفق باشید.